[U-Boot] [PATCH 06/11] usb: dwc3: add a workaround for too small OUT requests
Kishon Vijay Abraham I
kishon at ti.com
Mon Feb 23 15:24:43 CET 2015
Hi,
On Monday 23 February 2015 07:32 PM, Lukasz Majewski wrote:
> From: Marek Szyprowski <m.szyprowski at samsung.com>
>
> DWC3 hangs on OUT requests smaller than maxpacket size,
> so HACK the request length to be at least equal to maxpacket size.
Curious to know using which gadget this issue was seen.
Thanks
Kishon
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
> drivers/usb/dwc3/gadget.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 01bc83b..f8a75d3 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -974,6 +974,12 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
> req->direction = dep->direction;
> req->epnum = dep->number;
>
> + /* DWC3 hangs on OUT requests smaller than maxpacket size,
> + so HACK the request length */
> + if (dep->direction == 0 &&
> + req->request.length < dep->endpoint.maxpacket)
> + req->request.length = dep->endpoint.maxpacket;
> +
> /*
> * We only add to our list of requests now and
> * start consuming the list once we get XferNotReady
>
More information about the U-Boot
mailing list