svn commit: r188340 - user/thompsa/usb/sys/dev/usb2/controller
Andrew Thompson
thompsa at FreeBSD.org
Sun Feb 8 13:50:49 PST 2009
Author: thompsa
Date: Sun Feb 8 21:50:47 2009
New Revision: 188340
URL: http://svn.freebsd.org/changeset/base/188340
Log:
MFH r188336
The NRL value in the queue head must be zero for interrupt transfers. This was
diagnosed using a USB analyser obtained through a FreeBSD Foundation grant.
Modified:
user/thompsa/usb/sys/dev/usb2/controller/ehci2.c
Modified: user/thompsa/usb/sys/dev/usb2/controller/ehci2.c
==============================================================================
--- user/thompsa/usb/sys/dev/usb2/controller/ehci2.c Sun Feb 8 21:48:35 2009 (r188339)
+++ user/thompsa/usb/sys/dev/usb2/controller/ehci2.c Sun Feb 8 21:50:47 2009 (r188340)
@@ -1895,7 +1895,9 @@ ehci_setup_standard_chain(struct usb2_xf
if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) {
qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) |
- EHCI_QH_DTC | EHCI_QH_SET_NRL(8));
+ EHCI_QH_DTC);
+ if (methods != &ehci_device_intr_methods)
+ qh_endp |= EHCI_QH_SET_NRL(8);
} else {
if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_FULL) {
More information about the svn-src-user
mailing list