[PATCH 5.18 0498/1095] Bluetooth: hci_sync: Fix resuming scan after suspend resume

Greg Kroah-Hartman
2022-08-15T21:22:08Z

From: Zhengping Jiang <jiangzp@google.com>

[ Upstream commit 68253f3cd715e819bc4bff2b0e6b21234e259d56 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
net/bluetooth/hci_sync.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 9e2a42299fc0..99ef15167a81 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -5008,13 +5008,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;
}

@@ -5033,7 +5033,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);
--
2.35.1