Message ID | 20171006213333.6721-42-bart.vanassche@wdc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
> Subject: [PATCH 41/47] IB/qib: Suppress gcc 7 fall-through complaints > > Avoid that gcc 7 reports the following warning when building with W=1: > > warning: this statement may fall through [-Wimplicit-fallthrough=] > Bart, I'm ok with this but... I'm curious if there is a documentation change in the kernel on a common tree wide approach for gcc 7. I saw a patch to add the attribute based method of getting rid of the warning, but it doesn't appear to have been merged. This error probably runs through all of our drivers. Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Mike -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 2017-10-10 at 13:56 +0000, Marciniszyn, Mike wrote: > > Subject: [PATCH 41/47] IB/qib: Suppress gcc 7 fall-through complaints > > > > Avoid that gcc 7 reports the following warning when building with W=1: > > > > warning: this statement may fall through [-Wimplicit-fallthrough=] > > I'm ok with this but... > > I'm curious if there is a documentation change in the kernel on a common > tree wide approach for gcc 7. > > I saw a patch to add the attribute based method of getting rid of the warning, > but it doesn't appear to have been merged. > > This error probably runs through all of our drivers. > > Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Hello Mike, Thanks for the review. Regarding the tree-wide approach: there has already been a discussion about this on various kernel-related mailing lists. See also Linus Torvalds, Lots of new warnings with gcc-7.1.1, July 11, 2017 (https://www.mail-archive.com/netdev@vger.kernel.org/msg177459.html). The conclusion was that certain of these warnings should be suppressed but that other warnings are useful and should be retained. See also commit bd664f6b3e37 ("disable new gcc-7.1.1 warnings for now"). Bart.
diff --git a/drivers/infiniband/hw/qib/qib_mad.c b/drivers/infiniband/hw/qib/qib_mad.c index 1237952c144e..04367e0f6f9b 100644 --- a/drivers/infiniband/hw/qib/qib_mad.c +++ b/drivers/infiniband/hw/qib/qib_mad.c @@ -434,6 +434,7 @@ static int check_mkey(struct qib_ibport *ibp, struct ib_smp *smp, int mad_flags) /* Bad mkey not a violation below level 2 */ if (ibp->rvp.mkeyprot < 2) break; + /* fall through */ case IB_MGMT_METHOD_SET: case IB_MGMT_METHOD_TRAP_REPRESS: if (ibp->rvp.mkey_violations != 0xFFFF) diff --git a/drivers/infiniband/hw/qib/qib_rc.c b/drivers/infiniband/hw/qib/qib_rc.c index e9a91736b12d..8f5754fb8579 100644 --- a/drivers/infiniband/hw/qib/qib_rc.c +++ b/drivers/infiniband/hw/qib/qib_rc.c @@ -1869,7 +1869,7 @@ void qib_rc_rcv(struct qib_ctxtdata *rcd, struct ib_header *hdr, qp->r_rcv_len = 0; if (opcode == OP(SEND_ONLY)) goto no_immediate_data; - /* FALLTHROUGH for SEND_ONLY_WITH_IMMEDIATE */ + /* fall through -- for SEND_ONLY_WITH_IMMEDIATE */ case OP(SEND_LAST_WITH_IMMEDIATE): send_last_imm: wc.ex.imm_data = ohdr->u.imm_data; diff --git a/drivers/infiniband/hw/qib/qib_sdma.c b/drivers/infiniband/hw/qib/qib_sdma.c index 891873b38a1e..c3690bd51582 100644 --- a/drivers/infiniband/hw/qib/qib_sdma.c +++ b/drivers/infiniband/hw/qib/qib_sdma.c @@ -808,7 +808,7 @@ void __qib_sdma_process_event(struct qib_pportdata *ppd, * bringing the link up with traffic active on * 7220, e.g. */ ss->go_s99_running = 1; - /* fall through and start dma engine */ + /* fall through -- and start dma engine */ case qib_sdma_event_e10_go_hw_start: /* This reference means the state machine is started */ sdma_get(&ppd->sdma_state);
Avoid that gcc 7 reports the following warning when building with W=1: warning: this statement may fall through [-Wimplicit-fallthrough=] Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com> Cc: Mike Marciniszyn <infinipath@intel.com> --- drivers/infiniband/hw/qib/qib_mad.c | 1 + drivers/infiniband/hw/qib/qib_rc.c | 2 +- drivers/infiniband/hw/qib/qib_sdma.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-)