aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btusb.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-02-18 17:03:41 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-02-18 17:03:41 -0500
commitb67afe7f43afd2f5cd98798993561920c1684c12 (patch)
treee45a0e41c91a1d199fd865b011ed0d25f5497bb9 /drivers/bluetooth/btusb.c
parentdb28569adc692d9fb8a2d2d8e7ebab7fd5481f10 (diff)
parent28bec7b845e10b68e6ba1ade5de0fc566690fc61 (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.c7
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