wifi: ath12k: increase vdev setup timeout
authorAishwarya R <quic_aisr@quicinc.com>
Tue, 9 May 2023 17:07:23 +0000 (20:07 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 17 May 2023 08:15:26 +0000 (11:15 +0300)
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>
Link: https://lore.kernel.org/r/20230428091041.20033-1-quic_rgnanase@quicinc.com
drivers/net/wireless/ath/ath12k/mac.c
drivers/net/wireless/ath/ath12k/wmi.h

index 8640848..d814d74 100644 (file)
@@ -771,6 +771,9 @@ 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, "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;
index 08a8c9e..5cae252 100644 (file)
@@ -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;