Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Feb 2009 20:26:16 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 157384 for review
Message-ID:  <200902082026.n18KQGYG022363@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=157384

Change 157384 by hselasky@hselasky_laptop001 on 2009/02/08 20:25:45

	
	USB controller: EHCI High Speed Interrupt endpoint fix.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#32 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#32 (text+ko) ====

@@ -1896,8 +1896,17 @@
 	    EHCI_QH_SET_MPL(xfer->max_packet_size));
 
 	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));
+		if (methods != &ehci_device_intr_methods) {
+			qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) |
+			    EHCI_QH_DTC | EHCI_QH_SET_NRL(8));
+		} else {
+			/* 
+			 * Nak-Reload count must be zero for interrupt
+			 * endpoints See EHCI pdf file, section 4.9
+			 */
+			qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) |
+			    EHCI_QH_DTC);
+		}
 	} else {
 
 		if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_FULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902082026.n18KQGYG022363>