linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF
@ 2021-12-14 12:24 Panicker Harish
  2021-12-14 17:22 ` Matthias Kaehlcke
  0 siblings, 1 reply; 3+ messages in thread
From: Panicker Harish @ 2021-12-14 12:24 UTC (permalink / raw)
  To: marcel, johan.hedberg
  Cc: mka, linux-kernel, linux-bluetooth, quic_hemantg, linux-arm-msm,
	quic_bgodavar, rjliao, hbandi, abhishekpandit, mcchou,
	quic_saluvala, Panicker Harish

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);
+
 	/* Stop sending shutdown command if soc crashes. */
 	if (soc_type != QCA_ROME
 		&& qca->memdump_state == QCA_MEMDUMP_IDLE) {
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc.


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF
  2021-12-14 12:24 [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF Panicker Harish
@ 2021-12-14 17:22 ` Matthias Kaehlcke
  2021-12-21  4:52   ` PANICKER HARISH (Temp) (QUIC)
  0 siblings, 1 reply; 3+ messages in thread
From: Matthias Kaehlcke @ 2021-12-14 17:22 UTC (permalink / raw)
  To: Panicker Harish
  Cc: marcel, johan.hedberg, linux-kernel, linux-bluetooth,
	quic_hemantg, linux-arm-msm, quic_bgodavar, rjliao, hbandi,
	abhishekpandit, mcchou, quic_saluvala

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF
  2021-12-14 17:22 ` Matthias Kaehlcke
@ 2021-12-21  4:52   ` PANICKER HARISH (Temp) (QUIC)
  0 siblings, 0 replies; 3+ messages in thread
From: PANICKER HARISH (Temp) (QUIC) @ 2021-12-21  4:52 UTC (permalink / raw)
  To: Matthias Kaehlcke, PANICKER HARISH (Temp) (QUIC)
  Cc: marcel, johan.hedberg, linux-kernel, linux-bluetooth,
	Hemant Gupta (QUIC),
	linux-arm-msm, quic_bgodavar, rjliao, hbandi, abhishekpandit,
	mcchou, Sai Teja Aluvala (Temp) (QUIC)



-----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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-21  4:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-14 12:24 [PATCH v3] Bluetooth: hci_qca: Stop IBS timer during BT OFF Panicker Harish
2021-12-14 17:22 ` Matthias Kaehlcke
2021-12-21  4:52   ` PANICKER HARISH (Temp) (QUIC)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).