[U-Boot] [PATCH][RE-SUBMIT] usb: gadget: dwc2_udc_otg: modified the check condition for max packet size of ep_in in high speed

Marek Vasut marex at denx.de
Fri Jan 29 21:35:54 CET 2016


On Friday, January 29, 2016 at 05:42:31 PM, Lukasz Majewski wrote:
> Hi Steve,
> 
> > From: Frank Wang <frank.wang at rock-chips.com>
> > 
> > In current high speed fastboot, fs_ep_in.wMaxPacketSize is configured
> > 64 bytes as default, as a result, it failed to match the size at
> > initialization stage in usb controller.
> > Actually, hardware can support less than or equal to 512 bytes in
> > high speed mode, so I changed the condition from  '!=' to '>' to fix
> > this issue.
> > 
> > Signed-off-by: Frank Wang <frank.wang at rock-chips.com>
> > Tested-by: Steve Rae <srae at broadcom.com>
> > ---
> > 
> >  drivers/usb/gadget/dwc2_udc_otg.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/usb/gadget/dwc2_udc_otg.c
> > b/drivers/usb/gadget/dwc2_udc_otg.c index 90ed5ff..19d6dcd 100644
> > --- a/drivers/usb/gadget/dwc2_udc_otg.c
> > +++ b/drivers/usb/gadget/dwc2_udc_otg.c
> > @@ -565,8 +565,8 @@ static int dwc2_ep_enable(struct usb_ep *_ep,
> > 
> >  	}
> >  	
> >  	/* hardware _could_ do smaller, but driver doesn't */
> > 
> > -	if ((desc->bmAttributes == USB_ENDPOINT_XFER_BULK
> > -	     && le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) !=
> > +	if ((desc->bmAttributes == USB_ENDPOINT_XFER_BULK &&
> > +	     le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) >
> > 
> >  	     ep_maxpacket(ep))
> > || 
> > || !get_unaligned(&desc->wMaxPacketSize)) {
> > || 
> >  		debug("%s: bad %s maxpacket\n", __func__, _ep->name);
> 
> Acked-by: Lukasz Majewski <l.majewski at samsung.com>
> Tested-by: Lukasz Majewski <l.majewski at samsung.com>
> 
> Test HW: Trats - Exynos4210 (dwc2 udc controller).
> 
> @Marek:
> 
> Should I pick this patch or will you take it?

Pick it (and all the other udc stuff) and send me a PR please.

Best regards,
Marek Vasut


More information about the U-Boot mailing list