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

Lukasz Majewski l.majewski at samsung.com
Thu Jan 28 09:18:29 CET 2016


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.

I'm aware of this problem, however now I'm busy with fixing dfu issue
regarding sending large files (e.g. 26 MiB). Patches are under
testing now.

After sending them I'll fix the fastboot problem.

> 
> 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);



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list