diff options
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/btusb.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 7f936db169f5..317b276441af 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
@@ -1344,7 +1344,6 @@ static int btusb_setup_csr(struct hci_dev *hdev) | |||
1344 | { | 1344 | { |
1345 | struct hci_rp_read_local_version *rp; | 1345 | struct hci_rp_read_local_version *rp; |
1346 | struct sk_buff *skb; | 1346 | struct sk_buff *skb; |
1347 | int ret; | ||
1348 | 1347 | ||
1349 | BT_DBG("%s", hdev->name); | 1348 | BT_DBG("%s", hdev->name); |
1350 | 1349 | ||
@@ -1354,26 +1353,21 @@ static int btusb_setup_csr(struct hci_dev *hdev) | |||
1354 | 1353 | ||
1355 | rp = (struct hci_rp_read_local_version *)skb->data; | 1354 | rp = (struct hci_rp_read_local_version *)skb->data; |
1356 | 1355 | ||
1357 | if (!rp->status) { | 1356 | if (le16_to_cpu(rp->manufacturer) != 10) { |
1358 | if (le16_to_cpu(rp->manufacturer) != 10) { | 1357 | /* Clear the reset quirk since this is not an actual |
1359 | /* Clear the reset quirk since this is not an actual | 1358 | * early Bluetooth 1.1 device from CSR. |
1360 | * early Bluetooth 1.1 device from CSR. | 1359 | */ |
1361 | */ | 1360 | clear_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); |
1362 | clear_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); | ||
1363 | 1361 | ||
1364 | /* These fake CSR controllers have all a broken | 1362 | /* These fake CSR controllers have all a broken |
1365 | * stored link key handling and so just disable it. | 1363 | * stored link key handling and so just disable it. |
1366 | */ | 1364 | */ |
1367 | set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, | 1365 | set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks); |
1368 | &hdev->quirks); | ||
1369 | } | ||
1370 | } | 1366 | } |
1371 | 1367 | ||
1372 | ret = -bt_to_errno(rp->status); | ||
1373 | |||
1374 | kfree_skb(skb); | 1368 | kfree_skb(skb); |
1375 | 1369 | ||
1376 | return ret; | 1370 | return 0; |
1377 | } | 1371 | } |
1378 | 1372 | ||
1379 | static const struct firmware *btusb_setup_intel_get_fw(struct hci_dev *hdev, | 1373 | static const struct firmware *btusb_setup_intel_get_fw(struct hci_dev *hdev, |