Bluetooth: Introduce HCI_QUIRK_STRICT_DUPLICATE_FILTER
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 2 Nov 2014 19:52:23 +0000 (20:52 +0100)
committerJohan Hedberg <johan.hedberg@intel.com>
Mon, 3 Nov 2014 08:13:36 +0000 (10:13 +0200)
Some vendors decide to use a strict duplicate filter policy that only
filters on Bluetooth device addresses. This means that when the RSSI
changes, these devices are not reported again. During discovery it is
useful to actually get the RSSI updates.

Since this is specific to each controller, add a new quirk setting
that allows drivers to tell the core what kind of filtering policy
the controller uses.

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

index ecfa306..2e08f5a 100644 (file)
@@ -129,6 +129,15 @@ enum {
         * during the hdev->setup vendor callback.
         */
        HCI_QUIRK_INVALID_BDADDR,
+
+       /* When this quirk is set, the duplicate filtering during
+        * scanning is based on Bluetooth devices addresses. To allow
+        * RSSI based updates, restart scanning if needed.
+        *
+        * This quirk can be set before hci_register_dev is called or
+        * during the hdev->setup vendor callback.
+        */
+       HCI_QUIRK_STRICT_DUPLICATE_FILTER,
 };
 
 /* HCI device flags */