--- linux/drivers/usb/usb-ohci.orig	Sat Apr 29 10:02:15 2000
+++ linux/drivers/usb/usb-ohci.c	Sat Apr 29 20:09:39 2000
@@ -1622,8 +1622,10 @@
 {
 	ohci_t * ohci = urb->dev->bus->hcpriv;
  
-	ohci->rh.send = 0;
-	del_timer (&ohci->rh.rh_int_timer);
+	if (ohci->rh.urb == urb) {
+		ohci->rh.send = 0;
+		del_timer (&ohci->rh.rh_int_timer);
+	}
 	return 0;
 }
  
--- linux/drivers/usb/uhci.orig	Mon Apr 24 16:15:01 2000
+++ linux/drivers/usb/uhci.c	Sat Apr 29 20:05:38 2000
@@ -1929,9 +1929,10 @@
 {
 	struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv;
 
-	uhci->rh.send = 0;
-	del_timer(&uhci->rh.rh_int_timer);
-
+	if (uhci->rh.urb == urb) {
+		uhci->rh.send = 0;
+		del_timer(&uhci->rh.rh_int_timer);
+	}
 	return 0;
 }
 /*-------------------------------------------------------------------*/

