aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btusb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/bluetooth/btusb.c')
-rw-r--r--drivers/bluetooth/btusb.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 708b6574d805..1521dad3d460 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2458,6 +2458,25 @@ static int btusb_setup_bcm_patchram(struct hci_dev *hdev)
2458 subver = le16_to_cpu(ver->lmp_subver); 2458 subver = le16_to_cpu(ver->lmp_subver);
2459 kfree_skb(skb); 2459 kfree_skb(skb);
2460 2460
2461 /* Read Verbose Config Version Info */
2462 skb = __hci_cmd_sync(hdev, 0xfc79, 0, NULL, HCI_INIT_TIMEOUT);
2463 if (IS_ERR(skb)) {
2464 ret = PTR_ERR(skb);
2465 BT_ERR("%s: BCM: Read Verbose Version failed (%ld)",
2466 hdev->name, ret);
2467 return ret;
2468 }
2469
2470 if (skb->len != 7) {
2471 BT_ERR("%s: BCM: Read Verbose Version event length mismatch",
2472 hdev->name);
2473 kfree_skb(skb);
2474 return -EIO;
2475 }
2476
2477 BT_INFO("%s: BCM: chip id %u", hdev->name, skb->data[1]);
2478 kfree_skb(skb);
2479
2461 for (i = 0; bcm_subver_table[i].name; i++) { 2480 for (i = 0; bcm_subver_table[i].name; i++) {
2462 if (subver == bcm_subver_table[i].subver) { 2481 if (subver == bcm_subver_table[i].subver) {
2463 hw_name = bcm_subver_table[i].name; 2482 hw_name = bcm_subver_table[i].name;