Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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 <mmandlik@google.com>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

authored by

Manish Mandlik and committed by
Marcel Holtmann
37b63c68 da891217

+15 -4
+15 -4
net/bluetooth/msft.c
··· 330 330 /* Do not free the monitor if it is being removed due to 331 331 * suspend. It will be re-monitored on resume. 332 332 */ 333 - if (monitor && !msft->suspending) 333 + if (monitor && !msft->suspending) { 334 334 hci_free_adv_monitor(hdev, monitor); 335 335 336 - /* Clear any monitored devices by this Adv Monitor */ 337 - msft_monitor_device_del(hdev, handle_data->mgmt_handle, NULL, 338 - 0, false); 336 + /* Clear any monitored devices by this Adv Monitor */ 337 + msft_monitor_device_del(hdev, handle_data->mgmt_handle, 338 + NULL, 0, false); 339 + } 339 340 340 341 list_del(&handle_data->list); 341 342 kfree(handle_data); ··· 522 521 523 522 if (!msft || !msft_monitor_supported(hdev)) 524 523 return 0; 524 + 525 + hci_dev_lock(hdev); 526 + 527 + /* Clear already tracked devices on resume. Once the monitors are 528 + * reregistered, devices in range will be found again after resume. 529 + */ 530 + hdev->advmon_pend_notify = false; 531 + msft_monitor_device_del(hdev, 0, NULL, 0, true); 532 + 533 + hci_dev_unlock(hdev); 525 534 526 535 msft->resuming = true; 527 536