diff options
Diffstat (limited to 'drivers/bluetooth/btusb.c')
| -rw-r--r-- | drivers/bluetooth/btusb.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index de4cf4daa2f4..8e16f0af6358 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
| @@ -154,6 +154,10 @@ static struct usb_device_id blacklist_table[] = { | |||
| 154 | { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, | 154 | { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, |
| 155 | { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, | 155 | { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, |
| 156 | { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, | 156 | { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, |
| 157 | { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, | ||
| 158 | { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, | ||
| 159 | { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, | ||
| 160 | { USB_DEVICE(0x0cf3, 0xe003), .driver_info = BTUSB_ATH3012 }, | ||
| 157 | 161 | ||
| 158 | /* Atheros AR5BBU12 with sflash firmware */ | 162 | /* Atheros AR5BBU12 with sflash firmware */ |
| 159 | { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, | 163 | { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, |
| @@ -1095,7 +1099,7 @@ static int btusb_setup_intel_patching(struct hci_dev *hdev, | |||
| 1095 | if (IS_ERR(skb)) { | 1099 | if (IS_ERR(skb)) { |
| 1096 | BT_ERR("%s sending Intel patch command (0x%4.4x) failed (%ld)", | 1100 | BT_ERR("%s sending Intel patch command (0x%4.4x) failed (%ld)", |
| 1097 | hdev->name, cmd->opcode, PTR_ERR(skb)); | 1101 | hdev->name, cmd->opcode, PTR_ERR(skb)); |
| 1098 | return -PTR_ERR(skb); | 1102 | return PTR_ERR(skb); |
| 1099 | } | 1103 | } |
| 1100 | 1104 | ||
| 1101 | /* It ensures that the returned event matches the event data read from | 1105 | /* It ensures that the returned event matches the event data read from |
| @@ -1147,7 +1151,7 @@ static int btusb_setup_intel(struct hci_dev *hdev) | |||
| 1147 | if (IS_ERR(skb)) { | 1151 | if (IS_ERR(skb)) { |
| 1148 | BT_ERR("%s sending initial HCI reset command failed (%ld)", | 1152 | BT_ERR("%s sending initial HCI reset command failed (%ld)", |
| 1149 | hdev->name, PTR_ERR(skb)); | 1153 | hdev->name, PTR_ERR(skb)); |
| 1150 | return -PTR_ERR(skb); | 1154 | return PTR_ERR(skb); |
| 1151 | } | 1155 | } |
| 1152 | kfree_skb(skb); | 1156 | kfree_skb(skb); |
| 1153 | 1157 | ||
| @@ -1161,7 +1165,7 @@ static int btusb_setup_intel(struct hci_dev *hdev) | |||
| 1161 | if (IS_ERR(skb)) { | 1165 | if (IS_ERR(skb)) { |
| 1162 | BT_ERR("%s reading Intel fw version command failed (%ld)", | 1166 | BT_ERR("%s reading Intel fw version command failed (%ld)", |
| 1163 | hdev->name, PTR_ERR(skb)); | 1167 | hdev->name, PTR_ERR(skb)); |
| 1164 | return -PTR_ERR(skb); | 1168 | return PTR_ERR(skb); |
| 1165 | } | 1169 | } |
| 1166 | 1170 | ||
| 1167 | if (skb->len != sizeof(*ver)) { | 1171 | if (skb->len != sizeof(*ver)) { |
| @@ -1219,7 +1223,7 @@ static int btusb_setup_intel(struct hci_dev *hdev) | |||
| 1219 | BT_ERR("%s entering Intel manufacturer mode failed (%ld)", | 1223 | BT_ERR("%s entering Intel manufacturer mode failed (%ld)", |
| 1220 | hdev->name, PTR_ERR(skb)); | 1224 | hdev->name, PTR_ERR(skb)); |
| 1221 | release_firmware(fw); | 1225 | release_firmware(fw); |
| 1222 | return -PTR_ERR(skb); | 1226 | return PTR_ERR(skb); |
| 1223 | } | 1227 | } |
| 1224 | 1228 | ||
| 1225 | if (skb->data[0]) { | 1229 | if (skb->data[0]) { |
| @@ -1276,7 +1280,7 @@ static int btusb_setup_intel(struct hci_dev *hdev) | |||
| 1276 | if (IS_ERR(skb)) { | 1280 | if (IS_ERR(skb)) { |
| 1277 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", | 1281 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", |
| 1278 | hdev->name, PTR_ERR(skb)); | 1282 | hdev->name, PTR_ERR(skb)); |
| 1279 | return -PTR_ERR(skb); | 1283 | return PTR_ERR(skb); |
| 1280 | } | 1284 | } |
| 1281 | kfree_skb(skb); | 1285 | kfree_skb(skb); |
| 1282 | 1286 | ||
| @@ -1292,7 +1296,7 @@ exit_mfg_disable: | |||
| 1292 | if (IS_ERR(skb)) { | 1296 | if (IS_ERR(skb)) { |
| 1293 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", | 1297 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", |
| 1294 | hdev->name, PTR_ERR(skb)); | 1298 | hdev->name, PTR_ERR(skb)); |
| 1295 | return -PTR_ERR(skb); | 1299 | return PTR_ERR(skb); |
| 1296 | } | 1300 | } |
| 1297 | kfree_skb(skb); | 1301 | kfree_skb(skb); |
| 1298 | 1302 | ||
| @@ -1310,7 +1314,7 @@ exit_mfg_deactivate: | |||
| 1310 | if (IS_ERR(skb)) { | 1314 | if (IS_ERR(skb)) { |
| 1311 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", | 1315 | BT_ERR("%s exiting Intel manufacturer mode failed (%ld)", |
| 1312 | hdev->name, PTR_ERR(skb)); | 1316 | hdev->name, PTR_ERR(skb)); |
| 1313 | return -PTR_ERR(skb); | 1317 | return PTR_ERR(skb); |
| 1314 | } | 1318 | } |
| 1315 | kfree_skb(skb); | 1319 | kfree_skb(skb); |
| 1316 | 1320 | ||
