Marcel:

Now that usb_kill_urb() is in Greg's development tree, stimulated in no
small part by the changes needed for the USB Bluetooth driver, those
changes can be simplified.  I don't know when usb_kill_urb() will make
its way into the -mm series -- maybe it already has -- but when it's there
you ought to be able to apply this patch to hci_usb.c and make similar
changes to your other drivers.

Alan Stern



Signed-off-by: Alan Stern <[EMAIL PROTECTED]>

===== drivers/bluetooth/hci_usb.c 1.46 vs edited =====
--- 1.46/drivers/bluetooth/hci_usb.c    Mon Jun  7 16:15:10 2004
+++ edited/drivers/bluetooth/hci_usb.c  Fri Jul  9 09:43:30 2004
@@ -343,14 +343,6 @@
        return 0;
 }
 
-static inline void hci_usb_wait_for_urb(struct urb *urb)
-{
-       while (atomic_read(&urb->kref.refcount) > 1) {
-               current->state = TASK_UNINTERRUPTIBLE;
-               schedule_timeout((5 * HZ + 999) / 1000);
-       }
-}
-
 static void hci_usb_unlink_urbs(struct hci_usb *husb)
 {
        int i;
@@ -366,8 +358,7 @@
                        urb = &_urb->urb;
                        BT_DBG("%s unlinking _urb %p type %d urb %p", 
                                        husb->hdev->name, _urb, _urb->type, urb);
-                       usb_unlink_urb(urb);
-                       hci_usb_wait_for_urb(urb);
+                       usb_kill_urb(urb);
                        _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
                }
 



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to