From: Abhishek Pandit-Subedi <abhishekpan...@chromium.org>

When suspending, mark SUSPEND_SCAN_ENABLE and SUSPEND_SCAN_DISABLE tasks
correctly when either classic or le scanning is modified.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpan...@chromium.org>
Signed-off-by: Howard Chung <howardch...@google.com>
Reviewed-by: Alain Michaud <ala...@chromium.org>
---

 net/bluetooth/hci_request.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 80dc451d6e124..71bffd7454720 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -707,6 +707,9 @@ void hci_req_add_le_scan_disable(struct hci_request *req, 
bool rpa_le_conn)
                return;
        }
 
+       if (hdev->suspended)
+               set_bit(SUSPEND_SCAN_DISABLE, hdev->suspend_tasks);
+
        if (use_ext_scan(hdev)) {
                struct hci_cp_le_set_ext_scan_enable cp;
 
@@ -1159,6 +1162,11 @@ static void hci_req_set_event_filter(struct hci_request 
*req)
                scan = SCAN_PAGE;
        }
 
+       if (scan)
+               set_bit(SUSPEND_SCAN_ENABLE, hdev->suspend_tasks);
+       else
+               set_bit(SUSPEND_SCAN_DISABLE, hdev->suspend_tasks);
+
        hci_req_add(req, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);
 }
 
-- 
2.29.2.576.ga3fc446d84-goog

Reply via email to