Bluetooth: Disable HCI_CONNECTABLE based passive scanning for now
authorJohan Hedberg <johan.hedberg@intel.com>
Sun, 20 Jul 2014 14:10:45 +0000 (17:10 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 20 Jul 2014 14:15:38 +0000 (16:15 +0200)
When HCI_CONNECTABLE is set the code has been enabling passive scanning
in order to be consistent with BR/EDR and accept connections from any
device doing directed advertising to us. However, some hardware
(particularly CSR) can get very noisy even when doing duplicates
filtering, making this feature waste resources.

Considering that the feature is for fairly corner-case use (devices
who'd use directed advertising would likely be in the whitelist anyway)
it's better to disable it for now. It may still be brought back later,
possibly with a better implementation (e.g. through improved scan
parameters).

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

index f575abdf2b4ed20a41f4943981346f7739b5d6f0..f82a6cf1aaa82b08400a2de7541d2fedc7b25cd7 100644 (file)
@@ -5465,8 +5465,7 @@ void hci_update_background_scan(struct hci_dev *hdev)
 
        hci_req_init(&req, hdev);
 
-       if (!test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
-           list_empty(&hdev->pend_le_conns) &&
+       if (list_empty(&hdev->pend_le_conns) &&
            list_empty(&hdev->pend_le_reports)) {
                /* If there is no pending LE connections or devices
                 * to be scanned for, we should stop the background