diff options
author | 2025-01-20 18:39:39 +0800 | |
---|---|---|
committer | 2025-01-29 15:23:18 -0500 | |
commit | 0983fb4799e78b1783eb5ed0dfe324649c491bb7 (patch) | |
tree | 1082cadaff9ca5430a2e86d120e57927676fd9e4 | |
parent | Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface() (diff) | |
download | wireguard-linux-0983fb4799e78b1783eb5ed0dfe324649c491bb7.tar.xz wireguard-linux-0983fb4799e78b1783eb5ed0dfe324649c491bb7.zip |
Bluetooth: Fix possible infinite recursion of btusb_reset
The function enters infinite recursion if the HCI device doesn't support
GPIO reset: btusb_reset -> hdev->reset -> vendor_reset -> btusb_reset...
btusb_reset shouldn't call hdev->reset after commit f07d478090b0
("Bluetooth: Get rid of cmd_timeout and use the reset callback")
Fixes: f07d478090b0 ("Bluetooth: Get rid of cmd_timeout and use the reset callback")
Signed-off-by: Hsin-chen Chuang <chharry@chromium.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r-- | drivers/bluetooth/btusb.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 145b3fbfff55..90966dfbd278 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -899,11 +899,6 @@ static void btusb_reset(struct hci_dev *hdev) struct btusb_data *data; int err; - if (hdev->reset) { - hdev->reset(hdev); - return; - } - data = hci_get_drvdata(hdev); /* This is not an unbalanced PM reference since the device will reset */ err = usb_autopm_get_interface(data->intf); |