Re: [PATCH] i40iw: Use fallthrough pseudo-keyword
From: Leon Romanovsky <leon@kernel.org>
Date: 2021-05-09 12:22:08
On Sun, May 09, 2021 at 08:12:42PM +0800, 陳偉銘 wrote:
Hi, thanks for reply the purpose for the patch is to follow the regulation in this doc( https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through ) the following paragraph is written in the doc: [image: image.png] Not sure if I misunderstood anything, or actually we don't need to follow the regulation if no code in "case"?
Please don't top-post, use HTML emails and always CC mailing list.
I'm saying that there is a difference between two following snippets:
switch (value) {
case STATE_ONE:
do_something();
case STATE_TWO:
do_other();
break;
default:
WARN("unknown state");
}
and
switch (value) {
case STATE_ONE:
case STATE_TWO:
do_other();
break;
default:
WARN("unknown state");
}
While the first one needs "fallthrough" keyword, the second one doesn't.
Thanks
Thanks Wei Ming Chen Leon Romanovsky [off-list ref] 於 2021年5月9日 週日 下午6:50寫道:quoted
On Sun, May 09, 2021 at 04:31:35PM +0800, Wei Ming Chen wrote:quoted
Add pseudo-keyword macro fallthrough[1] [1]https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-throughquoted
Signed-off-by: Wei Ming Chen <redacted> --- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 1 + drivers/infiniband/hw/i40iw/i40iw_uk.c | 1 + 2 files changed, 2 insertions(+)What exactly are you fixing? "case" without any code doesn't need "fallthrough". Thanksquoted
diff --git a/drivers/infiniband/hw/i40iw/i40iw_ctrl.cb/drivers/infiniband/hw/i40iw/i40iw_ctrl.cquoted
index eaea5d545eb8..c6081283217c 100644--- a/drivers/infiniband/hw/i40iw/i40iw_ctrl.c +++ b/drivers/infiniband/hw/i40iw/i40iw_ctrl.c@@ -2454,6 +2454,7 @@ static enum i40iw_status_codei40iw_sc_qp_init(struct i40iw_sc_qp *qp,quoted
return ret_code; break; case 5: /* fallthrough until next ABI version */ + fallthrough; default: if (qp->qp_uk.max_rq_frag_cnt >I40IW_MAX_WQ_FRAGMENT_COUNT)quoted
return I40IW_ERR_INVALID_FRAG_COUNT;diff --git a/drivers/infiniband/hw/i40iw/i40iw_uk.cb/drivers/infiniband/hw/i40iw/i40iw_uk.cquoted
index f521be16bf31..e1c318c291c0 100644--- a/drivers/infiniband/hw/i40iw/i40iw_uk.c +++ b/drivers/infiniband/hw/i40iw/i40iw_uk.c@@ -1004,6 +1004,7 @@ enum i40iw_status_code i40iw_qp_uk_init(structi40iw_qp_uk *qp,quoted
i40iw_get_wqe_shift(info->max_rq_frag_cnt, 0,&rqshift);quoted
break; case 5: /* fallthrough until next ABI version */ + fallthrough; default: rqshift = I40IW_MAX_RQ_WQE_SHIFT; break; -- 2.25.1