2022-03-12 11:25:05

by Manish Mandlik

[permalink] [raw]
Subject: [PATCH 1/2] Bluetooth: msft: Clear tracked devices on resume

Clear already tracked devices on system resume. Once the monitors are
reregistered after resume, matched devices in range will be found again.

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

net/bluetooth/msft.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/net/bluetooth/msft.c b/net/bluetooth/msft.c
index 9a3d77d3ca86..f43994523b1f 100644
--- a/net/bluetooth/msft.c
+++ b/net/bluetooth/msft.c
@@ -330,12 +330,13 @@ static void msft_le_cancel_monitor_advertisement_cb(struct hci_dev *hdev,
/* Do not free the monitor if it is being removed due to
* suspend. It will be re-monitored on resume.
*/
- if (monitor && !msft->suspending)
+ if (monitor && !msft->suspending) {
hci_free_adv_monitor(hdev, monitor);

- /* Clear any monitored devices by this Adv Monitor */
- msft_monitor_device_del(hdev, handle_data->mgmt_handle, NULL,
- 0, false);
+ /* Clear any monitored devices by this Adv Monitor */
+ msft_monitor_device_del(hdev, handle_data->mgmt_handle,
+ NULL, 0, false);
+ }

list_del(&handle_data->list);
kfree(handle_data);
@@ -522,6 +523,16 @@ int msft_resume_sync(struct hci_dev *hdev)
if (!msft || !msft_monitor_supported(hdev))
return 0;

+ hci_dev_lock(hdev);
+
+ /* Clear already tracked devices on resume. Once the monitors are
+ * reregistered, devices in range will be found again after resume.
+ */
+ hdev->advmon_pend_notify = false;
+ msft_monitor_device_del(hdev, 0, NULL, 0, true);
+
+ hci_dev_unlock(hdev);
+
msft->resuming = true;

while (1) {
--
2.35.1.723.g4982287a31-goog


2022-03-13 07:24:29

by bluez.test.bot

[permalink] [raw]
Subject: RE: [1/2] Bluetooth: msft: Clear tracked devices on resume

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=622845

---Test result---

Test Summary:
CheckPatch PASS 3.43 seconds
GitLint PASS 2.05 seconds
SubjectPrefix PASS 1.73 seconds
BuildKernel PASS 35.14 seconds
BuildKernel32 PASS 31.60 seconds
Incremental Build with patchesPASS 52.52 seconds
TestRunner: Setup PASS 568.49 seconds
TestRunner: l2cap-tester PASS 17.60 seconds
TestRunner: bnep-tester PASS 7.28 seconds
TestRunner: mgmt-tester PASS 113.62 seconds
TestRunner: rfcomm-tester PASS 9.33 seconds
TestRunner: sco-tester PASS 9.00 seconds
TestRunner: smp-tester PASS 8.92 seconds
TestRunner: userchan-tester PASS 7.30 seconds



---
Regards,
Linux Bluetooth