OSDN Git Service

Bluetooth: Fix kernel oops triggered by hci_adv_monitors_clear()
authorMiao-chen Chou <mcchou@chromium.org>
Tue, 30 Jun 2020 03:15:00 +0000 (20:15 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 7 Jul 2020 15:38:11 +0000 (17:38 +0200)
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@chromium.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Alain Michaud <alainm@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_core.c

index e6bf3d9..6509f78 100644 (file)
@@ -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)