|
|
@@ -623,10 +623,16 @@ static void hci_init2_req(struct hci_request *req, unsigned long opt)
|
|
|
if (lmp_le_capable(hdev))
|
|
|
le_setup(req);
|
|
|
|
|
|
- /* AVM Berlin (31), aka "BlueFRITZ!", doesn't support the read
|
|
|
- * local supported commands HCI command.
|
|
|
+ /* All Bluetooth 1.2 and later controllers should support the
|
|
|
+ * HCI command for reading the local supported commands.
|
|
|
+ *
|
|
|
+ * Unfortunately some controllers indicate Bluetooth 1.2 support,
|
|
|
+ * but do not have support for this command. If that is the case,
|
|
|
+ * the driver can quirk the behavior and skip reading the local
|
|
|
+ * supported commands.
|
|
|
*/
|
|
|
- if (hdev->manufacturer != 31 && hdev->hci_ver > BLUETOOTH_VER_1_1)
|
|
|
+ if (hdev->hci_ver > BLUETOOTH_VER_1_1 &&
|
|
|
+ !test_bit(HCI_QUIRK_BROKEN_LOCAL_COMMANDS, &hdev->quirks))
|
|
|
hci_req_add(req, HCI_OP_READ_LOCAL_COMMANDS, 0, NULL);
|
|
|
|
|
|
if (lmp_ssp_capable(hdev)) {
|