Message ID | 20181004163919.13972-1-natechancellor@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [v2] qed: Avoid implicit enum conversion in qed_ooo_submit_tx_buffers | expand |
From: Nathan Chancellor <natechancellor@gmail.com> Sent: Thursday, October 04, 2018 7:39 PM > Clang warns when one enumerated type is implicitly converted to another. > > drivers/net/ethernet/qlogic/qed/qed_ll2.c:799:32: warning: implicit > conversion from enumeration type 'enum core_tx_dest' to different > enumeration type 'enum qed_ll2_tx_dest' [-Wenum-conversion] > tx_pkt.tx_dest = p_ll2_conn->tx_dest; > ~ ~~~~~~~~~~~~^~~~~~~ > 1 warning generated. > > Fix this by using a switch statement to convert between the enumerated > values since they are not 1 to 1, which matches how the rest of the > driver handles this conversion. > > Link: https://github.com/ClangBuiltLinux/linux/issues/125 > Suggested-by: Tomer Tayar <Tomer.Tayar@cavium.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > > v1 -> v2: > > * Use an explicit switch statement to convert between the enumerated > types like the rest of the driver, as suggested by Tomer. Thanks Acked-by: Tomer Tayar <Tomer.Tayar@cavium.com>
From: Nathan Chancellor <natechancellor@gmail.com> Date: Thu, 4 Oct 2018 09:39:20 -0700 > Clang warns when one enumerated type is implicitly converted to another. > > drivers/net/ethernet/qlogic/qed/qed_ll2.c:799:32: warning: implicit > conversion from enumeration type 'enum core_tx_dest' to different > enumeration type 'enum qed_ll2_tx_dest' [-Wenum-conversion] > tx_pkt.tx_dest = p_ll2_conn->tx_dest; > ~ ~~~~~~~~~~~~^~~~~~~ > 1 warning generated. > > Fix this by using a switch statement to convert between the enumerated > values since they are not 1 to 1, which matches how the rest of the > driver handles this conversion. > > Link: https://github.com/ClangBuiltLinux/linux/issues/125 > Suggested-by: Tomer Tayar <Tomer.Tayar@cavium.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > > v1 -> v2: > > * Use an explicit switch statement to convert between the enumerated > types like the rest of the driver, as suggested by Tomer. Applied to net-next.
diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c index da13117a604a..aa633381aa47 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c @@ -796,7 +796,18 @@ qed_ooo_submit_tx_buffers(struct qed_hwfn *p_hwfn, tx_pkt.vlan = p_buffer->vlan; tx_pkt.bd_flags = bd_flags; tx_pkt.l4_hdr_offset_w = l4_hdr_offset_w; - tx_pkt.tx_dest = p_ll2_conn->tx_dest; + switch (p_ll2_conn->tx_dest) { + case CORE_TX_DEST_NW: + tx_pkt.tx_dest = QED_LL2_TX_DEST_NW; + break; + case CORE_TX_DEST_LB: + tx_pkt.tx_dest = QED_LL2_TX_DEST_LB; + break; + case CORE_TX_DEST_DROP: + default: + tx_pkt.tx_dest = QED_LL2_TX_DEST_DROP; + break; + } tx_pkt.first_frag = first_frag; tx_pkt.first_frag_len = p_buffer->packet_length; tx_pkt.cookie = p_buffer;
Clang warns when one enumerated type is implicitly converted to another. drivers/net/ethernet/qlogic/qed/qed_ll2.c:799:32: warning: implicit conversion from enumeration type 'enum core_tx_dest' to different enumeration type 'enum qed_ll2_tx_dest' [-Wenum-conversion] tx_pkt.tx_dest = p_ll2_conn->tx_dest; ~ ~~~~~~~~~~~~^~~~~~~ 1 warning generated. Fix this by using a switch statement to convert between the enumerated values since they are not 1 to 1, which matches how the rest of the driver handles this conversion. Link: https://github.com/ClangBuiltLinux/linux/issues/125 Suggested-by: Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- v1 -> v2: * Use an explicit switch statement to convert between the enumerated types like the rest of the driver, as suggested by Tomer. drivers/net/ethernet/qlogic/qed/qed_ll2.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)