diff -r -u drivers/usb/host/ehci-q.c ../linux-2.6.11-rc3.orig/drivers/usb/host/ehci-q.c
--- drivers/usb/host/ehci-q.c	2005-02-08 11:07:30.000000000 +0100
+++ ../linux-2.6.11-rc3.orig/drivers/usb/host/ehci-q.c	2005-02-07 17:49:38.000000000 +0100
@@ -429,12 +429,8 @@
 			if (qh->period) {
 				intr_deschedule (ehci, qh);
 				(void) qh_schedule (ehci, qh);
-			} else {
-				if (!ehci->reclaim)
-					start_unlink_async (ehci, qh);
-				else
-					printk(KERN_CRIT "unlink already started\n");
-			}
+			} else
+				start_unlink_async (ehci, qh);
 			break;
 		/* otherwise, unlink already started */
 		}
