Bluetooth: hci_qca: Stop IBS timer during BT OFF
authorPanicker Harish <quic_pharish@quicinc.com>
Wed, 22 Dec 2021 07:29:05 +0000 (12:59 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:47 +0000 (11:03 +0100)
[ Upstream commit df1e5c51492fd93ffc293acdcc6f00698d19fedc ]

The IBS timers are not stopped properly once BT OFF is triggered.
we could see IBS commands being sent along with version command,
so stopped IBS timers while Bluetooth is off.

Fixes: 3e4be65eb82c ("Bluetooth: hci_qca: Add poweroff support during hci down for wcn3990")
Signed-off-by: Panicker Harish <quic_pharish@quicinc.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bluetooth/hci_qca.c

index 53deea2..3c26fc8 100644 (file)
@@ -1927,6 +1927,9 @@ static int qca_power_off(struct hci_dev *hdev)
        hu->hdev->hw_error = NULL;
        hu->hdev->cmd_timeout = NULL;
 
+       del_timer_sync(&qca->wake_retrans_timer);
+       del_timer_sync(&qca->tx_idle_timer);
+
        /* Stop sending shutdown command if soc crashes. */
        if (soc_type != QCA_ROME
                && qca->memdump_state == QCA_MEMDUMP_IDLE) {