Date: Thu, 1 Oct 2009 18:37:16 +0000 (UTC) From: Andrew Thompson <thompsa@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/usb/controller ehci.c Message-ID: <200910011837.n91IbZ85052800@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
thompsa 2009-10-01 18:37:16 UTC
FreeBSD src repository
Modified files:
sys/dev/usb/controller ehci.c
Log:
SVN rev 197682 on 2009-10-01 18:37:16Z by thompsa
EHCI Hardware BUG workaround
The EHCI HW can use the qtd_next field instead of qtd_altnext when a short
packet is received. This contradicts what is stated in the EHCI datasheet.
Also the total-bytes field in the status field of the following TD gets
corrupted upon reception of a short packet! We work this around in software by
not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been
seen on multiple INTEL based EHCI chips. Other vendors have not been tested
yet.
- Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not
applications using LibUSB v0.1, v1.2 and v2.0.
- Mass Storage (umass) is affected.
Submitted by: Hans Petter Selasky
MFC after: 3 days
Revision Changes Path
1.28 +57 -21 src/sys/dev/usb/controller/ehci.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910011837.n91IbZ85052800>
