Skip to contentSkip to conversation

intel: Mark expected switch fall-throughs

PATCH In review Gustavo A. R. Silva 2 participants 4 messages Jan 23, 2019

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 intel: Mark expected switch fall-throughs

In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.

This patch fixes the following warnings:

drivers/net/ethernet/intel/igb/e1000_82575.c:636:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/igb/igb_main.c:6710:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/i40e/i40e_xsk.c:237:3: warning: this statement may fall through [-Wimplicit-fallthrough=]

Warning level 3 was used: -Wimplicit-fallthrough=3

This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.

---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c   | 3 ++-
 drivers/net/ethernet/intel/igb/e1000_82575.c | 2 +-
 drivers/net/ethernet/intel/igb/igb_main.c    | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)
drivers/net/ethernet/intel/i40e/i40e_xsk.c +2 -1
index 96d849460d9b..774e31405ba0 100644
@@ -235,9 +235,10 @@ static int i40e_run_xdp_zc(struct i40e_ring *rx_ring, struct xdp_buff *xdp)
 		break;
 	default:
 		bpf_warn_invalid_xdp_action(act);
+		/* fall through */
 	case XDP_ABORTED:
 		trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
-		/* fallthrough -- handle aborts by dropping packet */
+		/* fall through - handle aborts by dropping packet */
 	case XDP_DROP:
 		result = I40E_XDP_CONSUMED;
 		break;
drivers/net/ethernet/intel/igb/e1000_82575.c +1 -1
index bafdcf70a353..3ec2ce0725d5 100644
@@ -638,7 +638,7 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
 			dev_spec->sgmii_active = true;
 			break;
 		}
-		/* fall through for I2C based SGMII */
+		/* fall through - for I2C based SGMII */
 	case E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES:
 		/* read media type from SFP EEPROM */
 		ret_val = igb_set_sfp_media_type_82575(hw);
drivers/net/ethernet/intel/igb/igb_main.c +1 -1
index dfa357b1a9d6..2c88e47574a7 100644
@@ -6713,7 +6713,7 @@ static int __igb_notify_dca(struct device *dev, void *data)
 			igb_setup_dca(adapter);
 			break;
 		}
-		/* Fall Through since DCA is disabled. */
+		/* Fall Through - since DCA is disabled. */
 	case DCA_PROVIDER_REMOVE:
 		if (adapter->flags & IGB_FLAG_DCA_ENABLED) {
 			/* without this a class_device is left
Signature · 1 line
2.20.1
#1 lore raw
Quoted 17 lines · Gustavo A. R. Silva

In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.

This patch fixes the following warnings:

drivers/net/ethernet/intel/igb/e1000_82575.c:636:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/igb/igb_main.c:6710:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/i40e/i40e_xsk.c:237:3: warning: this statement may fall through [-Wimplicit-fallthrough=]

Warning level 3 was used: -Wimplicit-fallthrough=3

This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.

Quoted 6 lines
---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c   | 3 ++-
 drivers/net/ethernet/intel/igb/e1000_82575.c | 2 +-
 drivers/net/ethernet/intel/igb/igb_main.c    | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

NAK on the igb changes. There is already a "fall through" code comment which is fine, adding a hyphen does not make the comment any more readable.

The i40e changes are acceptable, if you want to re-submit with only those changes.

#2 lore raw

Hi Jeffrey,

Quoted 25 lines · Jeff Kirsher
Quoted 17 lines · Gustavo A. R. Silva

In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.

This patch fixes the following warnings:

drivers/net/ethernet/intel/igb/e1000_82575.c:636:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/igb/igb_main.c:6710:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/i40e/i40e_xsk.c:237:3: warning: this statement may fall through [-Wimplicit-fallthrough=]

Warning level 3 was used: -Wimplicit-fallthrough=3

This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.

Quoted 6 lines
---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c   | 3 ++-
 drivers/net/ethernet/intel/igb/e1000_82575.c | 2 +-
 drivers/net/ethernet/intel/igb/igb_main.c    | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)
Quoted 4 lines

NAK on the igb changes. There is already a "fall through" code comment which is fine, adding a hyphen does not make the comment any more readable.

Those comments are not fine. They trigger the warnings I mention in the commit log. With this patch such warnings are fixed.

Notice that warning level 3 was used: -Wimplicit-fallthrough=3

Thanks
--
Gustavo

#3 lore raw
Quoted 35 lines · Gustavo A. R. Silva

Hi Jeffrey,

Quoted 26 lines · Jeff Kirsher
Quoted 18 lines · Gustavo A. R. Silva

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

This patch fixes the following warnings:

drivers/net/ethernet/intel/igb/e1000_82575.c:636:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/igb/igb_main.c:6710:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/net/ethernet/intel/i40e/i40e_xsk.c:237:3: warning: this statement may fall through [-Wimplicit-fallthrough=]

Warning level 3 was used: -Wimplicit-fallthrough=3

This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.

Quoted 6 lines
---
  drivers/net/ethernet/intel/i40e/i40e_xsk.c   | 3 ++-
  drivers/net/ethernet/intel/igb/e1000_82575.c | 2 +-
  drivers/net/ethernet/intel/igb/igb_main.c    | 2 +-
  3 files changed, 4 insertions(+), 3 deletions(-)
Quoted 5 lines

NAK on the igb changes. There is already a "fall through" code comment
which is fine, adding a hyphen does not make the comment any more readable.

Quoted 5 lines

Those comments are not fine. They trigger the warnings I mention in the
commit log. With this patch such warnings are fixed.

Notice that warning level 3 was used: -Wimplicit-fallthrough=3

This is a "false positive" based on the compiler option definition:

-Wimplicit-fallthrough=3 case sensitively matches a wide range of regular expressions, listed in the GCC manual. E.g., all of these are accepted:
/* Falls through. */
/* fall-thru */
/* Else falls through. */
/* FALLTHRU */
/* … falls through … */
etc.

You should be looking to fix the problem with the compiler option, which is reporting "acceptable" code comments.