diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 81f4bac098c9b5210125d72b334bc5c249d3bee5..69eb644f0d480c88f1768efa1c079dce1b8a56c7 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -1854,6 +1854,8 @@ void hci_unregister_dev(struct hci_dev *hdev) for (i = 0; i < NUM_REASSEMBLY; i++) kfree_skb(hdev->reassembly[i]); + cancel_work_sync(&hdev->power_on); + if (!test_bit(HCI_INIT, &hdev->flags) && !test_bit(HCI_SETUP, &hdev->dev_flags)) { hci_dev_lock(hdev);