Hi Miao-chen, > 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); > } I am happy to apply this as well, but I also applied another patch re-arranging the workqueue destroy handling. Can you check which prefer or if we should include both patches. Regards Marcel