[U-Boot] [UBOOT RFC PATCH 07/13] usb: gadget: g_dnl: Explicitly set the max packet size in descriptor

Kishon Vijay Abraham I
2014-08-19T15:53:54Z

On Tuesday 19 August 2014 09:18 PM, Felipe Balbi wrote:
> Hi,
>
> On Tue, Aug 19, 2014 at 09:12:29PM +0530, Kishon Vijay Abraham I wrote:
>>>>>> @@ -987,7 +987,6 @@ static int composite_bind(struct usb_gadget *gadget)
>>>>>>
>>>>>> memcpy(&cdev->desc, composite->dev,
>>>>>> sizeof(struct usb_device_descriptor));
>>>>>> - cdev->desc.bMaxPacketSize0 = gadget->ep0->maxpacket;
>>>>>
>>>>> why are you dropping this line ?
>>>>
>>>> Actually faced an issue with this. DWC3 gadget sets ep0 maxpacket size
>>>> to 512 and if the device is operating at hight speed, the
>>>> bMaxPacketSize0 field should be 64?
>>>
>>> right, but that's changed on connection done IRQ.
>>>
>>>> If the maxpacket size is set to 512, the host reports Invalid EP0
>>>> Maxpacket.
>>>
>>> huh ? who broke dwc3 ? connection done happens before we receive the
>>> first setup packet, how can host complain about anything ?
>>>
>> composite_bind() (where maxpacket is being set) happens much before connection
>> done interrupt. So it's not dwc3's fault.
>
> seems like you're just missing a few fixes to composite.c, such as
> commit 765f5b830e547229bb752e7b232ee83e2b3d49d5

hmm.. yeah.

-Kishon
>