--- usb-ohci.helium2	Sat Apr 29 10:10:19 2000
+++ usb-ohci.c	Sat Apr 29 12:08:40 2000
@@ -520,6 +520,9 @@
 	if (!urb) /* just to be sure */ 
 		return -EINVAL;
 		
+	if (!urb->dev || !urb->dev->bus)
+		return -ENODEV;
+
 	ohci = (ohci_t *) urb->dev->bus->hcpriv; 
 
 #ifdef DEBUG
@@ -551,6 +554,10 @@
 			remove_wait_queue (&op_wakeup, &wait); 
 		} else 
 			urb_rm_priv (urb);
+
+		urb->status = -ENOENT;	// mark urb as killed		
+		if (urb->complete)
+			urb->complete ((struct urb *) urb);
 		usb_dec_dev_use (urb->dev);		
 	}	
 	return 0;

