In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding a couple break statements and replacing
/* fall through */ comments with the new pseudo-keyword macro
fallthrough; instead of just letting the code fall through to the next
case.

Notice that Clang doesn't recognize /* fall through */ comments as
implicit fall-through markings.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavo...@kernel.org>
---
 drivers/scsi/bfa/bfa_fcs_lport.c | 2 +-
 drivers/scsi/bfa/bfa_ioc.c       | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/bfa/bfa_fcs_lport.c b/drivers/scsi/bfa/bfa_fcs_lport.c
index 3486e402bfc1..49a14157f123 100644
--- a/drivers/scsi/bfa/bfa_fcs_lport.c
+++ b/drivers/scsi/bfa/bfa_fcs_lport.c
@@ -5671,7 +5671,7 @@ bfa_fcs_lport_scn_process_rscn(struct bfa_fcs_lport_s 
*port,
                                bfa_fcs_lport_ms_fabric_rscn(port);
                                break;
                        }
-                       /* !!!!!!!!! Fall Through !!!!!!!!!!!!! */
+                       fallthrough;
 
                case FC_RSCN_FORMAT_AREA:
                case FC_RSCN_FORMAT_DOMAIN:
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 325ad8a592bb..5740302d83ac 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -387,7 +387,7 @@ bfa_ioc_sm_getattr(struct bfa_ioc_s *ioc, enum ioc_event 
event)
        case IOC_E_PFFAILED:
        case IOC_E_HWERROR:
                bfa_ioc_timer_stop(ioc);
-               /* !!! fall through !!! */
+               fallthrough;
        case IOC_E_TIMEOUT:
                ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE);
                bfa_fsm_set_state(ioc, bfa_ioc_sm_fail);
@@ -437,7 +437,7 @@ bfa_ioc_sm_op(struct bfa_ioc_s *ioc, enum ioc_event event)
        case IOC_E_PFFAILED:
        case IOC_E_HWERROR:
                bfa_hb_timer_stop(ioc);
-               /* !!! fall through !!! */
+               fallthrough;
        case IOC_E_HBFAIL:
                if (ioc->iocpf.auto_recover)
                        bfa_fsm_set_state(ioc, bfa_ioc_sm_fail_retry);
@@ -3299,6 +3299,7 @@ bfa_ablk_isr(void *cbarg, struct bfi_mbmsg_s *msg)
        case BFI_ABLK_I2H_PORT_CONFIG:
                /* update config port mode */
                ablk->ioc->port_mode_cfg = rsp->port_mode;
+               break;
 
        case BFI_ABLK_I2H_PF_DELETE:
        case BFI_ABLK_I2H_PF_UPDATE:
@@ -5871,6 +5872,7 @@ bfa_dconf_sm_uninit(struct bfa_dconf_mod_s *dconf, enum 
bfa_dconf_event event)
                break;
        case BFA_DCONF_SM_EXIT:
                bfa_fsm_send_event(&dconf->bfa->iocfc, IOCFC_E_DCONF_DONE);
+               break;
        case BFA_DCONF_SM_IOCDISABLE:
        case BFA_DCONF_SM_WR:
        case BFA_DCONF_SM_FLASH_COMP:
-- 
2.27.0

Reply via email to