Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> writes: > usb_endpoint_maxp() only returns the bit[10:0] of wMaxPacketSize > of endpoint descriptor, not includes bit[12:11] anymore, so use > usb_endpoint_maxp_mult() instead. > Meanwhile no need AND 0x7ff when get maxp, remove it. > > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> > --- > drivers/usb/gadget/udc/tegra-xudc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c > index a54d1cef17db..40a7417e7ae4 100644 > --- a/drivers/usb/gadget/udc/tegra-xudc.c > +++ b/drivers/usb/gadget/udc/tegra-xudc.c > @@ -1610,7 +1610,7 @@ static void tegra_xudc_ep_context_setup(struct tegra_xudc_ep *ep) > u16 maxpacket, maxburst = 0, esit = 0; > u32 val; > > - maxpacket = usb_endpoint_maxp(desc) & 0x7ff; > + maxpacket = usb_endpoint_maxp(desc); > if (xudc->gadget.speed == USB_SPEED_SUPER) { > if (!usb_endpoint_xfer_control(desc)) > maxburst = comp_desc->bMaxBurst; > @@ -1621,7 +1621,7 @@ static void tegra_xudc_ep_context_setup(struct tegra_xudc_ep *ep) > (usb_endpoint_xfer_int(desc) || > usb_endpoint_xfer_isoc(desc))) { > if (xudc->gadget.speed == USB_SPEED_HIGH) { > - maxburst = (usb_endpoint_maxp(desc) >> 11) & 0x3; > + maxburst = usb_endpoint_maxp_mult(desc) - 1; this looks like a bug fix. Before this change, maxburst was always 0, right? In any case: Acked-by: Felipe Balbi <balbi@xxxxxxxxxx> -- balbi