]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
Bluetooth: Use whitelist for scan policy when suspending
authorMiao-chen Chou <mcchou@chromium.org>
Tue, 7 Jul 2020 22:52:28 +0000 (15:52 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 8 Jul 2020 11:59:06 +0000 (13:59 +0200)
Even with one advertisement monitor in place, the scan policy should use
the whitelist while the system is going to suspend to prevent waking by
random advertisement.

The following test was performed.
- With a paired device, register one advertisement monitor, suspend
the system and verify that the host was not awaken by random
advertisements.

Signed-off-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_request.c

index 68a2ec36e1c1a5f5ef2bd9ce8b6ee82626ca907d..770b93758112255563228b41c92334f0988ccc75 100644 (file)
@@ -800,9 +800,10 @@ static u8 update_white_list(struct hci_request *req)
 
        /* Once the controller offloading of advertisement monitor is in place,
         * the if condition should include the support of MSFT extension
-        * support.
+        * support. If suspend is ongoing, whitelist should be the default to
+        * prevent waking by random advertisements.
         */
-       if (!idr_is_empty(&hdev->adv_monitors_idr))
+       if (!idr_is_empty(&hdev->adv_monitors_idr) && !hdev->suspended)
                return 0x00;
 
        /* Select filter policy to use white list */