On Thu, 8 Apr 2004, Simone Gotti wrote:

> This is the disassemble. I hope it'll be right.

It was perfect, thank you.

I think this patch for the USB Bluetooth driver will prevent the problems
you've been seeing.  Let me know what happens.

Alan Stern



===== drivers/bluetooth/hci_usb.c 1.42 vs edited =====
--- 1.42/drivers/bluetooth/hci_usb.c    Tue Mar 30 17:57:21 2004
+++ edited/drivers/bluetooth/hci_usb.c  Thu Apr  8 13:41:28 2004
@@ -341,6 +341,14 @@
        return 0;
 }
 
+static void inline wait_for_urb(struct urb *urb)
+{
+       while (atomic_read(&urb->count) > 1) {
+               current->state = TASK_UNINTERRUPTIBLE;
+               schedule_timeout((5 * HZ + 999) / 1000);
+       }
+}
+
 static void hci_usb_unlink_urbs(struct hci_usb *husb)
 {
        int i;
@@ -357,6 +365,7 @@
                        BT_DBG("%s unlinking _urb %p type %d urb %p", 
                                        husb->hdev->name, _urb, _urb->type, urb);
                        usb_unlink_urb(urb);
+                       wait_for_urb(urb);
                        _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
                }
 



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to