Bluetooth: hci_sync: Fix resuming scan after suspend resume
authorZhengping Jiang <jiangzp@google.com>
Tue, 12 Jul 2022 00:05:30 +0000 (17:05 -0700)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 22 Jul 2022 00:08:52 +0000 (17:08 -0700)
After resuming, remove setting scanning_paused to false, because it is
checked and set to false in hci_resume_scan_sync. Also move setting
the value to false before updating passive scan, because the value is
used when resuming passive scan.

Fixes: 3b42055388c30 (Bluetooth: hci_sync: Fix attempting to suspend with
unfiltered passive scan)

Signed-off-by: Zhengping Jiang <jiangzp@google.com>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_sync.c

index a727f16914e48f60a969428babedd09ec5c3e100..49b69fe47bec34785f3dc6bcb64ad23838d875e5 100644 (file)
@@ -5063,13 +5063,13 @@ static int hci_resume_scan_sync(struct hci_dev *hdev)
        if (!hdev->scanning_paused)
                return 0;
 
+       hdev->scanning_paused = false;
+
        hci_update_scan_sync(hdev);
 
        /* Reset passive scanning to normal */
        hci_update_passive_scan_sync(hdev);
 
-       hdev->scanning_paused = false;
-
        return 0;
 }
 
@@ -5088,7 +5088,6 @@ int hci_resume_sync(struct hci_dev *hdev)
                return 0;
 
        hdev->suspended = false;
-       hdev->scanning_paused = false;
 
        /* Restore event mask */
        hci_set_event_mask_sync(hdev);