Re: [PATCH] usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS

From: Alan Stern
Date: Fri Jan 21 2022 - 10:09:05 EST


On Fri, Jan 21, 2022 at 05:01:24PM +0530, Pavankumar Kondeti wrote:
> Currently when gadget enumerates in super speed plus, the isoc
> endpoint request buffer size is not calculated correctly. Fix
> this by checking the gadget speed against USB_SPEED_SUPER_PLUS
> and update the request buffer size.
>
> Signed-off-by: Pavankumar Kondeti <quic_pkondeti@xxxxxxxxxxx>
> ---
> drivers/usb/gadget/function/f_sourcesink.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/usb/gadget/function/f_sourcesink.c b/drivers/usb/gadget/function/f_sourcesink.c
> index 1abf08e..0a423ba 100644
> --- a/drivers/usb/gadget/function/f_sourcesink.c
> +++ b/drivers/usb/gadget/function/f_sourcesink.c
> @@ -584,6 +584,8 @@ static int source_sink_start_ep(struct f_sourcesink *ss, bool is_in,
>
> if (is_iso) {
> switch (speed) {
> + case USB_SPEED_SUPER_PLUS:
> + fallthrough;

There's no need for this "fallthough" line. You're allowed to have
multiple case labels for a single block of code.

Alan Stern

> case USB_SPEED_SUPER:
> size = ss->isoc_maxpacket *
> (ss->isoc_mult + 1) *
> --
> 2.7.4
>