--- drivers/bluetooth/bfusb.c 22 Jan 2005 20:54:38 -0000 1.1.1.2 +++ drivers/bluetooth/bfusb.c 19 Jan 2006 19:19:15 -0000 1.1.1.3 @@ -470,12 +470,11 @@ return 0; write_lock_irqsave(&bfusb->lock, flags); + write_unlock_irqrestore(&bfusb->lock, flags); bfusb_unlink_urbs(bfusb); bfusb_flush(hdev); - write_unlock_irqrestore(&bfusb->lock, flags); - MOD_DEC_USE_COUNT; return 0; --- drivers/bluetooth/hci_usb.c 22 Jan 2005 20:54:38 -0000 1.1.1.8 +++ drivers/bluetooth/hci_usb.c 19 Jan 2006 19:19:15 -0000 1.1.1.9 @@ -398,13 +398,13 @@ BT_DBG("%s", hdev->name); + /* Synchronize with completion handlers */ write_lock_irqsave(&husb->completion_lock, flags); - + write_unlock_irqrestore(&husb->completion_lock, flags); + hci_usb_unlink_urbs(husb); hci_usb_flush(hdev); - write_unlock_irqrestore(&husb->completion_lock, flags); - MOD_DEC_USE_COUNT; return 0; }