Thread (1 message) 1 message, 1 author, 2021-05-09

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-through
quoted
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".

Thanks
quoted
diff --git a/drivers/infiniband/hw/i40iw/i40iw_ctrl.c
b/drivers/infiniband/hw/i40iw/i40iw_ctrl.c
quoted
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_code
i40iw_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.c
b/drivers/infiniband/hw/i40iw/i40iw_uk.c
quoted
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(struct
i40iw_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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help