2023-04-28 09:25:54

by Ramya Gnanasekar

[permalink] [raw]
Subject: [PATCH] wifi: ath12k: increase vdev setup timeout

From: Aishwarya R <[email protected]>

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 <[email protected]>
Signed-off-by: Ramya Gnanasekar <[email protected]>
---
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);
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;
--
2.17.1


2023-05-05 13:29:02

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath12k: increase vdev setup timeout

Ramya Gnanasekar <[email protected]> writes:

> From: Aishwarya R <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Ramya Gnanasekar <[email protected]>
> ---
> 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.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2023-05-17 08:25:08

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath12k: increase vdev setup timeout

Ramya Gnanasekar <[email protected]> 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 <[email protected]>
> Signed-off-by: Ramya Gnanasekar <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

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

1fd2c3f93c3e wifi: ath12k: increase vdev setup timeout

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches