# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.513.3.3 -> 1.513.3.4
#	drivers/usb/host/ehci-q.c	1.13    -> 1.14   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/05/06	david-b@pacbell.net	1.513.3.4
# [PATCH] PATCH ehci -- interrupt xfer requeue
# 
# The fix basically removes a bit-complement that shouldn't have
# been there.  (Plus related simplification.)  That changed the PID,
# so that (for one example) only the first hub plug/unplug event could
# work.  So it's essential for anyone using high speed hubs.
# 
# I'm still not quite sure why this hasn't affected more testing, but
# that's life ... :)
# --------------------------------------------
#
diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
--- a/drivers/usb/host/ehci-q.c	Tue May  7 15:18:22 2002
+++ b/drivers/usb/host/ehci-q.c	Tue May  7 15:18:22 2002
@@ -356,11 +356,10 @@
 			 * from an interrupt QTD
 			 */
 			qtd->hw_token = (qtd->hw_token
-					& ~__constant_cpu_to_le32 (0x8300))
+					& __constant_cpu_to_le32 (0x8300))
 				| cpu_to_le32 (qtd->length << 16)
-				| __constant_cpu_to_le32 (QTD_IOC
-					| (EHCI_TUNE_CERR << 10)
-					| QTD_STS_ACTIVE);
+				| __constant_cpu_to_le32 (QTD_STS_ACTIVE
+					| (EHCI_TUNE_CERR << 10));
 			qtd->hw_buf [0] &= ~__constant_cpu_to_le32 (0x0fff);
 
 			/* this offset, and the length above,
