Commit 26c12725 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files
Luiz Augusto von Dentz says:

====================
bluetooth pull request for net:

 - Fix deadlock when powering on.

* tag 'for-net-2022-07-05' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
  Bluetooth: core: Fix deadlock on hci_power_on_sync.
====================

Link: https://lore.kernel.org/r/20220705202700.1689796-1-luiz.dentz@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 029cc096 e36bea6e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -571,6 +571,7 @@ int hci_dev_close(__u16 dev)
		goto done;
	}

	cancel_work_sync(&hdev->power_on);
	if (hci_dev_test_and_clear_flag(hdev, HCI_AUTO_OFF))
		cancel_delayed_work(&hdev->power_off);

@@ -2675,6 +2676,8 @@ void hci_unregister_dev(struct hci_dev *hdev)
	list_del(&hdev->list);
	write_unlock(&hci_dev_list_lock);

	cancel_work_sync(&hdev->power_on);

	hci_cmd_sync_clear(hdev);

	if (!test_bit(HCI_QUIRK_NO_SUSPEND_NOTIFIER, &hdev->quirks))
+0 −1
Original line number Diff line number Diff line
@@ -4088,7 +4088,6 @@ int hci_dev_close_sync(struct hci_dev *hdev)

	bt_dev_dbg(hdev, "");

	cancel_work_sync(&hdev->power_on);
	cancel_delayed_work(&hdev->power_off);
	cancel_delayed_work(&hdev->ncmd_timer);