Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

authored by

Chris Mason and committed by
Marcel Holtmann
7bee8b08 f760b87f

+5 -6
+5 -6
drivers/bluetooth/btbcm.c
··· 472 472 473 473 /* Read Verbose Config Version Info */ 474 474 skb = btbcm_read_verbose_config(hdev); 475 - if (IS_ERR(skb)) 476 - return PTR_ERR(skb); 477 - 478 - BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name, skb->data[1], 479 - get_unaligned_le16(skb->data + 5)); 480 - kfree_skb(skb); 475 + if (!IS_ERR(skb)) { 476 + BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name, skb->data[1], 477 + get_unaligned_le16(skb->data + 5)); 478 + kfree_skb(skb); 479 + } 481 480 482 481 set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); 483 482