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