[PATCH v1] Bluetooth: Fix kernel oops triggered by hci_adv_monitors_clear()

From: Miao-chen Chou
Date: Mon Jun 29 2020 - 23:15:09 EST


This fixes the kernel oops by removing unnecessary background scan
update from hci_adv_monitors_clear() which shouldn't invoke any work
queue.

The following test was performed.
- Run "rmmod btusb" and verify that no kernel oops is triggered.

Signed-off-by: Miao-chen Chou <mcchou@xxxxxxxxxxxx>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx>
Reviewed-by: Alain Michaud <alainm@xxxxxxxxxxxx>
---

net/bluetooth/hci_core.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 5577cf9e2c7cd..77615161c7d72 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -3005,8 +3005,6 @@ void hci_adv_monitors_clear(struct hci_dev *hdev)
hci_free_adv_monitor(monitor);

idr_destroy(&hdev->adv_monitors_idr);
-
- hci_update_background_scan(hdev);
}

void hci_free_adv_monitor(struct adv_monitor *monitor)
--
2.26.2