diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-02-18 17:03:41 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-18 17:03:41 -0500 |
commit | b67afe7f43afd2f5cd98798993561920c1684c12 (patch) | |
tree | e45a0e41c91a1d199fd865b011ed0d25f5497bb9 /drivers/bluetooth/btusb.c | |
parent | db28569adc692d9fb8a2d2d8e7ebab7fd5481f10 (diff) | |
parent | 28bec7b845e10b68e6ba1ade5de0fc566690fc61 (diff) |
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c
Diffstat (limited to 'drivers/bluetooth/btusb.c')
-rw-r--r-- | drivers/bluetooth/btusb.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 89b9e51eec1f..411ae9c9b384 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
@@ -108,6 +108,9 @@ static struct usb_device_id blacklist_table[] = { | |||
108 | /* Atheros 3012 with sflash firmware */ | 108 | /* Atheros 3012 with sflash firmware */ |
109 | { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_IGNORE }, | 109 | { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_IGNORE }, |
110 | 110 | ||
111 | /* Atheros AR5BBU12 with sflash firmware */ | ||
112 | { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, | ||
113 | |||
111 | /* Broadcom BCM2035 */ | 114 | /* Broadcom BCM2035 */ |
112 | { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, | 115 | { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, |
113 | { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU }, | 116 | { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU }, |
@@ -828,7 +831,7 @@ static void btusb_work(struct work_struct *work) | |||
828 | 831 | ||
829 | if (hdev->conn_hash.sco_num > 0) { | 832 | if (hdev->conn_hash.sco_num > 0) { |
830 | if (!test_bit(BTUSB_DID_ISO_RESUME, &data->flags)) { | 833 | if (!test_bit(BTUSB_DID_ISO_RESUME, &data->flags)) { |
831 | err = usb_autopm_get_interface(data->isoc); | 834 | err = usb_autopm_get_interface(data->isoc ? data->isoc : data->intf); |
832 | if (err < 0) { | 835 | if (err < 0) { |
833 | clear_bit(BTUSB_ISOC_RUNNING, &data->flags); | 836 | clear_bit(BTUSB_ISOC_RUNNING, &data->flags); |
834 | usb_kill_anchored_urbs(&data->isoc_anchor); | 837 | usb_kill_anchored_urbs(&data->isoc_anchor); |
@@ -857,7 +860,7 @@ static void btusb_work(struct work_struct *work) | |||
857 | 860 | ||
858 | __set_isoc_interface(hdev, 0); | 861 | __set_isoc_interface(hdev, 0); |
859 | if (test_and_clear_bit(BTUSB_DID_ISO_RESUME, &data->flags)) | 862 | if (test_and_clear_bit(BTUSB_DID_ISO_RESUME, &data->flags)) |
860 | usb_autopm_put_interface(data->isoc); | 863 | usb_autopm_put_interface(data->isoc ? data->isoc : data->intf); |
861 | } | 864 | } |
862 | } | 865 | } |
863 | 866 | ||