[U-Boot] [PATCH 0/6] usb: ci_udc: fixes and cleanups

Stephen Warren swarren at wwwdotorg.org
Wed Jul 2 00:52:52 CEST 2014


On 07/01/2014 04:42 PM, Jörg Krause wrote:
> 
> On 07/01/2014 11:36 PM, Stephen Warren wrote:
>> [snip]
>> Can you please try one more thing:
>>
>> Go back to u-boot-usb/master plus just your board support patches. Apply
>> the following and test that:
>>
>>> diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
>>> index a6433e8d2d8d..13be1b73d3d1 100644
>>> --- a/drivers/usb/gadget/ci_udc.c
>>> +++ b/drivers/usb/gadget/ci_udc.c
>>> @@ -209,9 +209,9 @@ ci_ep_alloc_request(struct usb_ep *ep, unsigned int gfp_flags)
>>>         ci_req = memalign(ARCH_DMA_MINALIGN, sizeof(*ci_req));
>>>         if (!ci_req)
>>>                 return NULL;
>>> +       memset(ci_req, 0, sizeof(*ci_req));
>>>  
>>>         INIT_LIST_HEAD(&ci_req->queue);
>>> -       ci_req->b_buf = 0;
>>>  
>>>         if (num == 0)
>>>                 controller.ep0_req = ci_req;
>> Thanks.
> 
> Applied and tested with printf in cache.c enabled. ttp runs more than
> three times in row without a timeout error.

Excellent, I guess that does make sense now.

An equivalent of that change is included in patch 6/6, so that explains
why you saw it fix your problem.

s3c_udc also needs the change above, so I'll go send a patch for that.

Thanks for testing, and it's great that we got to the bottom of this.


More information about the U-Boot mailing list