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 ecfa306e1375b5f492a72d927d4eed6bf8aea8af..2e08f5a894636ad995e15bc699db34828c6e7d5a 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 */