
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.