2022-08-03 20:28:04

by Manish Mandlik

[permalink] [raw]
Subject: [PATCH 2/2] Bluetooth: hci_sync: Cancel AdvMonitor interleave scan when suspend

Cancel interleaved scanning for advertisement monitor when suspend.

Fixes: 182ee45da083 ("Bluetooth: hci_sync: Rework hci_suspend_notifier")

Signed-off-by: Manish Mandlik <[email protected]>
Reviewed-by: Miao-chen Chou <[email protected]>
---

net/bluetooth/hci_sync.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index cb0c219ebe1c..33d2221b2bc4 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -1721,6 +1721,9 @@ static bool is_interleave_scanning(struct hci_dev *hdev)

static void cancel_interleave_scan(struct hci_dev *hdev)
{
+ if (!is_interleave_scanning(hdev))
+ return;
+
bt_dev_dbg(hdev, "cancelling interleave scan");

cancel_delayed_work_sync(&hdev->interleave_scan);
@@ -5288,6 +5291,9 @@ int hci_suspend_sync(struct hci_dev *hdev)
/* Pause other advertisements */
hci_pause_advertising_sync(hdev);

+ /* Cancel interleaved scan */
+ cancel_interleave_scan(hdev);
+
/* Suspend monitor filters */
hci_suspend_monitor_sync(hdev);

--
2.37.1.455.g008518b4e5-goog