the following patch was just integrated into master: commit 69eea7c01af0ce095aa7618eadae72e86f6eebbe Author: Julius Werner <jwer...@chromium.org> Date: Fri Jan 11 16:25:52 2013 -0800
libpayload: Split EHCI bulk transfers on packet boundaries over qTDs EHCI controllers see transfers as a queue of transfer descriptors (qTDs), each of which can represent an aligned area of up to 20KB. Each qTD is processed separately, which means that a single USB packet cannot span multiple qTDs. While this should not be a problem according to the specification, some USB storage devices seem to get confused when a packet in the middle of a transfer is smaller than the maximum packet size (512 bytes) due to falling on a qTD boundary. This patch aligns the total transfer length per qTD to 512 bytes to avoid that problem (any excess bytes will simply roll over to the next qTD). Change-Id: I0b5db07507699a3861b30c1a5ee774c45dda7fdd Signed-off-by: Julius Werner <jwer...@chromium.org> Reviewed-on: http://review.coreboot.org/2651 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patr...@georgi-clan.de> Reviewed-by: Paul Menzel <paulepan...@users.sourceforge.net> Reviewed-by: Ronald G. Minnich <rminn...@gmail.com> Reviewed-By: Patrick Georgi <patr...@georgi-clan.de> at Tue Mar 12 10:20:11 2013, giving +1 Build-Tested: build bot (Jenkins) at Tue Mar 12 03:59:50 2013, giving +1 Reviewed-By: Ronald G. Minnich <rminn...@gmail.com> at Wed Mar 13 23:08:10 2013, giving +2 See http://review.coreboot.org/2651 for details. -gerrit -- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot