Skip to content

usb: ci_udc: fixes and cleanups

Stephen Warren u-boot 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 6 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 6 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot] [PATCH 0/6] usb: ci_udc: fixes and cleanups
Quoted 21 lines · J?rg Krause
Quoted 19 lines · Stephen Warren

[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:

Quoted 13 lines
drivers/usb/gadget/ci_udc.c +1 -1
index a6433e8d2d8d..13be1b73d3d1 100644
@@ -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;
 
Quoted 6 lines
Quoted 3 lines

drivers/usb/gadget/ci_udc.c ci_ep_alloc_request(struct usb_ep *ep, unsigned int gfp_flags) · line 217

Quoted 2 lines
drivers/usb/gadget/ci_udc.c +0 -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.