From: Marek Vasut Date: Thu, 15 May 2014 00:21:42 +0200 Subject: [U-Boot] [PATCH V2] usb: ci_udc: parse QTD before over-writing it In-Reply-To: <1399999914-9194-1-git-send-email-swarren@wwwdotorg.org> References: <1399999914-9194-1-git-send-email-swarren@wwwdotorg.org> Message-ID: <201405150021.42332.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, May 13, 2014 at 06:51:54 PM, Stephen Warren wrote: > From: Stephen Warren > > ci_udc only allocates a single QTD structure per EP. All data needs to be > extracted from the DTD prior to calling ci_ep_submit_next_request(), since > that fills the QTD with next transaction's parameters. Fix > handle_ep_complete() to extract the transaction (remaining) length before > kicking off the next transaction. > > In practice, this only causes writes to UMS devices to fail for me. I may > have tested the final versions of my previous ci_udc patch only with > reads. More recently, I had patches applied locally that allocated a QTD > per USB request rather than per USB EP, although since that doesn't give > any performance benefit, I'm dropping those. Applied, thanks. Best regards, Marek Vasut