2020-12-04 03:19:14

by Yun-hao Chung

[permalink] [raw]
Subject: [PATCH v1] Bluetooth: Set missing suspend task bits

From: Abhishek Pandit-Subedi <[email protected]>

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 <[email protected]>
Signed-off-by: Howard Chung <[email protected]>
Reviewed-by: Alain Michaud <[email protected]>
---

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


2020-12-04 11:00:32

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH v1] Bluetooth: Set missing suspend task bits

Hi Howard,

> 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 <[email protected]>
> Signed-off-by: Howard Chung <[email protected]>
> Reviewed-by: Alain Michaud <[email protected]>
> ---
>
> net/bluetooth/hci_request.c | 8 ++++++++
> 1 file changed, 8 insertions(+)

patch has been applied to bluetooth-next tree.

Regards

Marcel

2020-12-21 18:22:14

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [PATCH v1] Bluetooth: Set missing suspend task bits

21.12.2020 20:58, Abhishek Pandit-Subedi пишет:
> Hi Dmitry,
>
> https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=295fa2a5647b13681594bb1bcc76c74619035218
> should fix this issue.
>
> Your issue seems the same as the one I encountered -- the
> SUSPEND_DISABLE bit (0x4) wasn't being cleared by the request
> completion handler.

Hello Abhishek,

It fixes the problem using today's linux-next, which already includes
that commit, thank you.