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);