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

Kishon Vijay Abraham I kishon at ti.com
Tue Aug 19 17:34:06 CEST 2014


Hi,

On Monday 18 August 2014 08:08 PM, Felipe Balbi wrote:
> On Mon, Aug 18, 2014 at 07:58:29PM +0530, Kishon Vijay Abraham I wrote:
>> Explicity set the max packet size in the device descriptor to 0x40
>> as specified in the device class specification for device firmware upgrade.
>> Also changed debug to printf to explicitly notify the user if the
>> device has been enumerated.
>>
>> Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
>> ---
>>  drivers/usb/gadget/composite.c | 3 +--
>>  drivers/usb/gadget/g_dnl.c     | 1 +
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
>> index 7bd2562..60ca9a5 100644
>> --- a/drivers/usb/gadget/composite.c
>> +++ b/drivers/usb/gadget/composite.c
>> @@ -331,7 +331,7 @@ static int set_config(struct usb_composite_dev *cdev,
>>  	} else
>>  		result = 0;
>>  
>> -	debug("%s: %s speed config #%d: %s\n", __func__,
>> +	printf("%s: %s speed config #%d: %s\n", __func__,
> 
> this looks like it's only needed for debugging. No strong feelings
> though

yeah.. it helps to know if the device has been enumerated.
> 
>> @@ -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?

If the maxpacket size is set to 512, the host reports Invalid EP0 Maxpacket.

Thanks
Kishon


More information about the U-Boot mailing list