diff mbox series

ice: Fix clang -Wimplicit-fallthrough in ice_pull_qvec_from_rc()

Message ID 20211019014203.1926130-1-nathan@kernel.org
State Accepted
Delegated to: Anthony Nguyen
Headers show
Series ice: Fix clang -Wimplicit-fallthrough in ice_pull_qvec_from_rc() | expand

Commit Message

Nathan Chancellor Oct. 19, 2021, 1:42 a.m. UTC
Clang warns:

drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        default:
        ^
drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: note: insert 'break;' to avoid fall-through
        default:
        ^
        break;
1 error generated.

Clang is a little more pedantic than GCC, which does not warn when
falling through to a case that is just break or return. Clang's version
is more in line with the kernel's own stance in deprecated.rst, which
states that all switch/case blocks must end in either break,
fallthrough, continue, goto, or return. Add the missing break to silence
the warning.

Link: https://github.com/ClangBuiltLinux/linux/issues/1482
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 drivers/net/ethernet/intel/ice/ice_lib.c | 1 +
 1 file changed, 1 insertion(+)


base-commit: 939a6567f976efb8b3e6d601ce35eb56b17babd0

Comments

Jesse Brandeburg Oct. 19, 2021, 3:32 p.m. UTC | #1
On 10/18/2021 6:42 PM, Nathan Chancellor wrote:
> Clang warns:
> 
> drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
>          default:
>          ^
> drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: note: insert 'break;' to avoid fall-through
>          default:
>          ^
>          break;
> 1 error generated.
> 
> Clang is a little more pedantic than GCC, which does not warn when
> falling through to a case that is just break or return. Clang's version
> is more in line with the kernel's own stance in deprecated.rst, which
> states that all switch/case blocks must end in either break,
> fallthrough, continue, goto, or return. Add the missing break to silence
> the warning.
> 
> Link: https://github.com/ClangBuiltLinux/linux/issues/1482
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
G, GurucharanX Oct. 21, 2021, 11:45 a.m. UTC | #2
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Nathan Chancellor
> Sent: Tuesday, October 19, 2021 7:12 AM
> To: Brandeburg, Jesse <jesse.brandeburg@intel.com>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; David S. Miller <davem@davemloft.net>; Jakub
> Kicinski <kuba@kernel.org>
> Cc: netdev@vger.kernel.org; llvm@lists.linux.dev; Nick Desaulniers
> <ndesaulniers@google.com>; linux-kernel@vger.kernel.org; Nathan Chancellor
> <nathan@kernel.org>; intel-wired-lan@lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH] ice: Fix clang -Wimplicit-fallthrough in
> ice_pull_qvec_from_rc()
> 
> Clang warns:
> 
> drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: error: unannotated fall-through
> between switch labels [-Werror,-Wimplicit-fallthrough]
>         default:
>         ^
> drivers/net/ethernet/intel/ice/ice_lib.c:1906:2: note: insert 'break;' to avoid
> fall-through
>         default:
>         ^
>         break;
> 1 error generated.
> 
> Clang is a little more pedantic than GCC, which does not warn when falling
> through to a case that is just break or return. Clang's version is more in line
> with the kernel's own stance in deprecated.rst, which states that all switch/case
> blocks must end in either break, fallthrough, continue, goto, or return. Add the
> missing break to silence the warning.
> 
> Link: https://github.com/ClangBuiltLinux/linux/issues/1482
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> ---
>  drivers/net/ethernet/intel/ice/ice_lib.c | 1 +
>  1 file changed, 1 insertion(+)
> 

Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index f981e77f72ad..03443c060507 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -1903,6 +1903,7 @@  static struct ice_q_vector *ice_pull_qvec_from_rc(struct ice_ring_container *rc)
 	case ICE_TX_CONTAINER:
 		if (rc->tx_ring)
 			return rc->tx_ring->q_vector;
+		break;
 	default:
 		break;
 	}