diff options
author | Chris Mason <clm@fb.com> | 2015-07-14 16:25:30 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-07-14 16:54:55 -0400 |
commit | 7bee8b08c428b63aa4a3765bb907602e36355378 (patch) | |
tree | 55be1535d5151da93e7ef205d4fff0f53078e4f5 /drivers/bluetooth/btbcm.c | |
parent | f760b87f8f12eb262f14603e65042996fe03720e (diff) |
Bluetooth: btbcm: allow btbcm_read_verbose_config to fail on Apple
Commit 1c8ba6d013 moved around the setup code for broadcomm chips,
and also added btbcm_read_verbose_config() to read extra information
about the hardware. It's returning errors on some macbooks:
Bluetooth: hci0: BCM: Read verbose config info failed (-16)
Which makes us error out of the setup function. Since this
probe isn't critical to operate the chip, this patch just changes
things to carry on when it fails.
Signed-off-by: Chris Mason <clm@fb.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org # v4.1
Diffstat (limited to 'drivers/bluetooth/btbcm.c')
-rw-r--r-- | drivers/bluetooth/btbcm.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index 1e1a4323a71f..9ceb8ac68fdc 100644 --- a/drivers/bluetooth/btbcm.c +++ b/drivers/bluetooth/btbcm.c | |||
@@ -472,12 +472,11 @@ int btbcm_setup_apple(struct hci_dev *hdev) | |||
472 | 472 | ||
473 | /* Read Verbose Config Version Info */ | 473 | /* Read Verbose Config Version Info */ |
474 | skb = btbcm_read_verbose_config(hdev); | 474 | skb = btbcm_read_verbose_config(hdev); |
475 | if (IS_ERR(skb)) | 475 | if (!IS_ERR(skb)) { |
476 | return PTR_ERR(skb); | 476 | BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name, skb->data[1], |
477 | 477 | get_unaligned_le16(skb->data + 5)); | |
478 | BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name, skb->data[1], | 478 | kfree_skb(skb); |
479 | get_unaligned_le16(skb->data + 5)); | 479 | } |
480 | kfree_skb(skb); | ||
481 | 480 | ||
482 | set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); | 481 | set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); |
483 | 482 | ||