RE: [PATCH] usb: host: fhci-hcd: annotate PIPE_CONTROL switch case with fallthrough

From: Leo Li
Date: Thu Feb 13 2020 - 16:11:06 EST




> -----Original Message-----
> From: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
> Sent: Thursday, February 13, 2020 2:54 AM
> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Timur Tabi
> <timur@xxxxxxxxxx>; Leo Li <leoyang.li@xxxxxxx>; Rasmus Villemoes
> <linux@xxxxxxxxxxxxxxxxxx>; Gustavo A. R. Silva
> <gustavo@xxxxxxxxxxxxxx>
> Cc: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>; kbuild test robot
> <lkp@xxxxxxxxx>; linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] usb: host: fhci-hcd: annotate PIPE_CONTROL switch case
> with fallthrough
>
> After this was made buildable for something other than PPC32, kbuild starts
> warning
>
> drivers/usb/host/fhci-hcd.c:398:8: warning: this statement may fall through
> [-Wimplicit-fallthrough=]
>
> I don't know this code, but from the construction (initializing size with 0 and
> explicitly using "size +=" in the PIPE_BULK case) I assume that fallthrough is
> indeed intended.
>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Fixes: 5a35435ef4e6 (soc: fsl: qe: remove PPC32 dependency from
> CONFIG_QUICC_ENGINE)
> Fixes: a035d552a93b (Makefile: Globally enable fall-through warning)
> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>

Acked-by: Li Yang <leoyang.li@xxxxxxx>

> ---
>
> Two different Fixes: Obviously my 5a35435ef4e6 is the one that started
> making kbuild complain, but that's just because apparently kbuild doesn't
> cover a PPC32+USB_FHCI_HCD .config. Note for -stable folks, just in case
> 5.3.y is still maintained somewhere: a035d552a93b appeared in 5.3, but the
> #define fallthrough that I'm using here wasn't introduced until 5.4
> (294f69e662d15). So either ignore this, make it /* fallthrough */, or backport
> 294f69e662d15 to 5.3.y as well.
>
> drivers/usb/host/fhci-hcd.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c index
> 04733876c9c6..a8e1048278d0 100644
> --- a/drivers/usb/host/fhci-hcd.c
> +++ b/drivers/usb/host/fhci-hcd.c
> @@ -396,6 +396,7 @@ static int fhci_urb_enqueue(struct usb_hcd *hcd,
> struct urb *urb,
> case PIPE_CONTROL:
> /* 1 td fro setup,1 for ack */
> size = 2;
> + fallthrough;
> case PIPE_BULK:
> /* one td for every 4096 bytes(can be up to 8k) */
> size += urb->transfer_buffer_length / 4096;
> --
> 2.23.0