Hi,

this piece of code from bluetooth_ctrl_msg

        /* try to find a free urb in our list */
        for (i = 0; i < NUM_CONTROL_URBS; ++i) {
                if (bluetooth->control_urb_pool[i]->status != -EINPROGRESS) {
                        urb = bluetooth->control_urb_pool[i];
                        dr = &bluetooth->dr[i];
                        break;
                }
        }

seems to lack locking. Two threads might operate on the same URB.

        Regards
                Oliver



-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to