From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Tue, 10 Jun 2014 13:34:23 -0600 Subject: [U-Boot] [PATCH 1/2] usb: ci_udc: allow multiple buffer allocs per ep In-Reply-To: <1401750173835-181251.post@n7.nabble.com> References: <1399333692-1847-1-git-send-email-swarren@wwwdotorg.org> <1401749826028-181250.post@n7.nabble.com> <1401750173835-181251.post@n7.nabble.com> Message-ID: <53975DBF.70506@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 06/02/2014 05:02 PM, J?rg Krause wrote: > Sorry, my previous post was not shown correctly. The raw text was missing. I > removed the annotation. > > Since this commit my Ethernet Gadget on a custom Freescale i.MX28 board is > broken. Using tftp to download files I get in almost all cases a timeout: Sorry for the slow response; for some reason I didn't get a copy of the message so I didn't notice it. Could you tell me which include/config/xxx.h file you're using? I guess if it's a custom board, perhaps that file isn't upstream. If so, I'm particularly interested in whether you have CONFIG_USB_GADGET or CONFIG_USB_ETHER enabled. I wonder if applying the following series rather than reverting this commits solves the issue? [U-Boot,1/4] usb: ci_udc: detect queued requests on ep0 http://patchwork.ozlabs.org/patch/353926/ [U-Boot,2/4] usb: ci_udc: use a single descriptor for ep0 http://patchwork.ozlabs.org/patch/353932/ [U-Boot,3/4] usb: ci_udc: pre-allocate ep0 req http://patchwork.ozlabs.org/patch/353931/ [U-Boot,4/4] usb: ci_udc: complete ep0 direction handling http://patchwork.ozlabs.org/patch/353941/ The only other thing I can think of is that there's some issue with the bounce buffer alignment or size being wrong somehow. Perhaps try increasing those? Or, perhaps req->actual ends up being wrong, so ci_debounce() isn't cache-invalidating or copying enough data? Perhaps try rounding up req->len instead of req->actual when performing the cache invalidate? > This is one case: > > Updating rootfs ... > using ci_udc, OUT ep- IN ep- STATUS ep- > MAC 00:19:b8:00:00:02 > HOST MAC 00:19:b8:00:00:01 > high speed config #1: 2 mA, Ethernet Gadget, using CDC Ethernet > USB network up! > Using usb_ether device > TFTP from server 10.0.0.1; our IP address is 10.0.0.2 > Filename 'rootfs.ubifs'. > Load address: 0x40008000 > Loading: ###########timeout sending packets to usb ethernet I'm slightly confused by this log. Do you have 2 boards running U-Boot, one running the USB controller in device mode, and this is the log from some other board that's talking to that first board?