Re: [PATCH 3/6] usb: cdnsp: fix the wrong mult value for HS isoc or intr

From: Felipe Balbi
Date: Thu Aug 12 2021 - 02:51:39 EST



Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> writes:

> usb_endpoint_maxp() only returns the bit[10:0] of wMaxPacketSize
> of endpoint descriptor, not include bit[12:11] anymore, so use
> usb_endpoint_maxp_mult() instead.
>
> Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
> ---
> drivers/usb/cdns3/cdnsp-mem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/cdns3/cdnsp-mem.c b/drivers/usb/cdns3/cdnsp-mem.c
> index a47948a1623f..ad9aee3f1e39 100644
> --- a/drivers/usb/cdns3/cdnsp-mem.c
> +++ b/drivers/usb/cdns3/cdnsp-mem.c
> @@ -882,7 +882,7 @@ static u32 cdnsp_get_endpoint_max_burst(struct usb_gadget *g,
> if (g->speed == USB_SPEED_HIGH &&
> (usb_endpoint_xfer_isoc(pep->endpoint.desc) ||
> usb_endpoint_xfer_int(pep->endpoint.desc)))
> - return (usb_endpoint_maxp(pep->endpoint.desc) & 0x1800) >> 11;
> + return usb_endpoint_maxp_mult(pep->endpoint.desc) - 1;

this looks like a bugfix. Do we need to Cc stable here?

In any case:

Acked-by: Felipe Balbi <balbi@xxxxxxxxxx>

--
balbi