diff mbox series

wifi: ath12k: increase vdev setup timeout

Message ID 20230428091041.20033-1-quic_rgnanase@quicinc.com (mailing list archive)
State Accepted
Commit 1fd2c3f93c3e232290a25a8ef8a48d0fb6c702ad
Delegated to: Kalle Valo
Headers show
Series wifi: ath12k: increase vdev setup timeout | expand

Commit Message

Ramya Gnanasekar April 28, 2023, 9:10 a.m. UTC
From: Aishwarya R <quic_aisr@quicinc.com>

When vdev start/stop happens, response from firmware is received with delay
and hence there is a timeout before VDEV can be up/down.
Also, with maximum peers connected and when vdev stop occurs, firmware
will take time to clean up all the peers and vap queues.
In such cases as well, vdev start/stop response is sent by firmware with delay.

Increase the vdev setup timeout as recommended by firmware team.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0-02903-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aishwarya R <quic_aisr@quicinc.com>
Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/mac.c | 2 ++
 drivers/net/wireless/ath/ath12k/wmi.h | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Kalle Valo May 5, 2023, 1:21 p.m. UTC | #1
Ramya Gnanasekar <quic_rgnanase@quicinc.com> writes:

> From: Aishwarya R <quic_aisr@quicinc.com>
>
> When vdev start/stop happens, response from firmware is received with delay
> and hence there is a timeout before VDEV can be up/down.
> Also, with maximum peers connected and when vdev stop occurs, firmware
> will take time to clean up all the peers and vap queues.
> In such cases as well, vdev start/stop response is sent by firmware with delay.
>
> Increase the vdev setup timeout as recommended by firmware team.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0-02903-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Aishwarya R <quic_aisr@quicinc.com>
> Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com>
> ---
>  drivers/net/wireless/ath/ath12k/mac.c | 2 ++
>  drivers/net/wireless/ath/ath12k/wmi.h | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
> index 8c401145a221..d720d95eba96 100644
> --- a/drivers/net/wireless/ath/ath12k/mac.c
> +++ b/drivers/net/wireless/ath/ath12k/mac.c
> @@ -771,6 +771,8 @@ static int ath12k_mac_vdev_setup_sync(struct ath12k *ar)
>  	if (test_bit(ATH12K_FLAG_CRASH_FLUSH, &ar->ab->dev_flags))
>  		return -ESHUTDOWN;
>  
> +	ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "ath12k vdev setup timeout %d\n",
> +		   ATH12K_VDEV_SETUP_TIMEOUT_HZ);

There's no reason to have string "ath12k" in the debug message so I
removed that in the pending branch. I also added an empty line after the
debug message.

No need to resend because of these.
Kalle Valo May 17, 2023, 8:15 a.m. UTC | #2
Ramya Gnanasekar <quic_rgnanase@quicinc.com> wrote:

> When vdev start/stop happens, response from firmware is received with delay
> and hence there is a timeout before VDEV can be up/down.
> Also, with maximum peers connected and when vdev stop occurs, firmware
> will take time to clean up all the peers and vap queues.
> In such cases as well, vdev start/stop response is sent by firmware with delay.
> 
> Increase the vdev setup timeout as recommended by firmware team.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0-02903-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Aishwarya R <quic_aisr@quicinc.com>
> Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

1fd2c3f93c3e wifi: ath12k: increase vdev setup timeout
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 8c401145a221..d720d95eba96 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -771,6 +771,8 @@  static int ath12k_mac_vdev_setup_sync(struct ath12k *ar)
 	if (test_bit(ATH12K_FLAG_CRASH_FLUSH, &ar->ab->dev_flags))
 		return -ESHUTDOWN;
 
+	ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "ath12k vdev setup timeout %d\n",
+		   ATH12K_VDEV_SETUP_TIMEOUT_HZ);
 	if (!wait_for_completion_timeout(&ar->vdev_setup_done,
 					 ATH12K_VDEV_SETUP_TIMEOUT_HZ))
 		return -ETIMEDOUT;
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index ddc3b72755c4..a8b972493fbb 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -2682,7 +2682,7 @@  struct ath12k_wmi_ssid_params {
 	u8 ssid[ATH12K_WMI_SSID_LEN];
 } __packed;
 
-#define ATH12K_VDEV_SETUP_TIMEOUT_HZ (1 * HZ)
+#define ATH12K_VDEV_SETUP_TIMEOUT_HZ (5 * HZ)
 
 struct wmi_vdev_start_request_cmd {
 	__le32 tlv_header;