Cancel interleaved scanning for advertisement monitor when suspend. Fixes: 182ee45da083 ("Bluetooth: hci_sync: Rework hci_suspend_notifier") Signed-off-by: Manish Mandlik <mmandlik@xxxxxxxxxx> Reviewed-by: Miao-chen Chou <mcchou@xxxxxxxxxx> --- 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