Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
authorArchie Pusaka <apusaka@chromium.org>
Thu, 26 Jan 2023 13:38:17 +0000 (16:38 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Feb 2023 07:27:22 +0000 (08:27 +0100)
commit 97dfaf073f5881c624856ef293be307b6166115c upstream.

If a command is already sent, we take care of freeing it, but we
also need to cancel the timeout as well.

Signed-off-by: Archie Pusaka <apusaka@chromium.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@google.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/hci_core.c

index a41b4dc..cabe8eb 100644 (file)
@@ -1632,6 +1632,7 @@ setup_failed:
                        hdev->flush(hdev);
 
                if (hdev->sent_cmd) {
+                       cancel_delayed_work_sync(&hdev->cmd_timer);
                        kfree_skb(hdev->sent_cmd);
                        hdev->sent_cmd = NULL;
                }