diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-01 15:58:15 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-01 15:58:15 +0100 |
commit | b00615d163cd24fa98d155acfc1f9d81d6fe1103 (patch) | |
tree | dde815788aaea3e336aaaf24763311ce63a22e1b /drivers/bluetooth/btusb.c | |
parent | 75639e7ee1401b3876c7a00ffe96ea8027668690 (diff) | |
parent | d6797322231af98b9bb4afb175dd614cf511e5f7 (diff) |
Merge branch 'topic/pcm-dma-fix' into topic/core-change
Diffstat (limited to 'drivers/bluetooth/btusb.c')
-rw-r--r-- | drivers/bluetooth/btusb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 7ba91aa3fe8..44bc8bbabf5 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -591,6 +591,7 @@ static int btusb_close(struct hci_dev *hdev) return 0; cancel_work_sync(&data->work); + cancel_work_sync(&data->waker); clear_bit(BTUSB_ISOC_RUNNING, &data->flags); clear_bit(BTUSB_BULK_RUNNING, &data->flags); @@ -599,11 +600,13 @@ static int btusb_close(struct hci_dev *hdev) btusb_stop_traffic(data); err = usb_autopm_get_interface(data->intf); if (err < 0) - return 0; + goto failed; data->intf->needs_remote_wakeup = 0; usb_autopm_put_interface(data->intf); +failed: + usb_scuttle_anchored_urbs(&data->deferred); return 0; } |