Bluetooth: Introduce HCI_QUIRK_BROKEN_LOCAL_COMMANDS constant
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 26 Dec 2014 03:42:31 +0000 (04:42 +0100)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 26 Dec 2014 18:16:10 +0000 (20:16 +0200)
Some controllers advertise support for Bluetooth 1.2 specification,
but they do not support the HCI Read Local Supported Commands command.

If that is the case, then the driver can quirk the behavior and force
the core to skip this command. This will allow removing vendor specific
checks out of the core.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
include/net/bluetooth/hci.h

index f39926ee06f77da933d540217379ee244acc0595..1849a437f6e1aeba2414c96db45d3c18d3c224d6 100644 (file)
@@ -102,6 +102,16 @@ enum {
         */
        HCI_QUIRK_FIXUP_BUFFER_SIZE,
 
+       /* When this quirk is set, then the HCI Read Local Supported
+        * Commands command is not supported. In general Bluetooth 1.2
+        * and later controllers should support this command. However
+        * some controllers indicate Bluetooth 1.2 support, but do
+        * not support this command.
+        *
+        * This quirk must be set before hci_register_dev is called.
+        */
+       HCI_QUIRK_BROKEN_LOCAL_COMMANDS,
+
        /* When this quirk is set, then no stored link key handling
         * is performed. This is mainly due to the fact that the
         * HCI Delete Stored Link Key command is advertised, but