diff mbox series

[v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF

Message ID 1639484691-28202-1-git-send-email-quic_pharish@quicinc.com
State New
Headers show
Series [v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF | expand

Commit Message

Panicker Harish Dec. 14, 2021, 12:24 p.m. UTC
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>
---
 drivers/bluetooth/hci_qca.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Panicker Harish Dec. 21, 2021, 4:52 a.m. UTC | #1
-----Original Message-----
From: Matthias Kaehlcke <mka@chromium.org> 
Sent: Tuesday, December 14, 2021 10:53 PM
To: PANICKER HARISH (Temp) (QUIC) <quic_pharish@quicinc.com>
Cc: marcel@holtmann.org; johan.hedberg@gmail.com; linux-kernel@vger.kernel.org; linux-bluetooth@vger.kernel.org; Hemant Gupta (QUIC) <quic_hemantg@quicinc.com>; linux-arm-msm@vger.kernel.org; quic_bgodavar <quic_bgodavar@quicinc.com>; rjliao@codeaurora.org; hbandi@codeaurora.org; abhishekpandit@chromium.org; mcchou@chromium.org; Sai Teja Aluvala (Temp) (QUIC) <quic_saluvala@quicinc.com>
Subject: Re: [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF

On Tue, Dec 14, 2021 at 05:54:51PM +0530, Panicker Harish wrote:
> 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>
> ---
>  drivers/bluetooth/hci_qca.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c 
> index dd768a8..6f44b26 100644
> --- a/drivers/bluetooth/hci_qca.c
> +++ b/drivers/bluetooth/hci_qca.c
> @@ -1928,6 +1928,9 @@ static int qca_power_off(struct hci_dev *hdev)
>  	hu->hdev->hw_error = NULL;
>  	hu->hdev->cmd_timeout = NULL;
>  
> +	mod_timer(&qca->tx_idle_timer, 0);
> +	mod_timer(&qca->wake_retrans_timer, 0);
> +

If one of the timers is already running it wouldn't be stopped by mod_timer().
I think you want a del_timer_sync() here to ensure the timers aren't running when the chip is powered off.

[Harish] : I will check and update in next patch.
diff mbox series

Patch

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index dd768a8..6f44b26 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1928,6 +1928,9 @@  static int qca_power_off(struct hci_dev *hdev)
 	hu->hdev->hw_error = NULL;
 	hu->hdev->cmd_timeout = NULL;
 
+	mod_timer(&qca->tx_idle_timer, 0);
+	mod_timer(&qca->wake_retrans_timer, 0);
+
 	/* Stop sending shutdown command if soc crashes. */
 	if (soc_type != QCA_ROME
 		&& qca->memdump_state == QCA_MEMDUMP_IDLE) {