summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorAhmad Masri <amasri@codeaurora.org>2019-06-16 03:26:06 -0400
committerKalle Valo <kvalo@codeaurora.org>2019-06-27 13:50:55 -0400
commit2a32c20b76af39185a5bf8fa617b94295660893f (patch)
treea679c5f113b64ff4b8b38c10a820018b393bf5f9 /drivers/net/wireless
parent9b586118730e1b86dc3c8d8523effc712c5a2bfc (diff)
wil6210: set WIL_WMI_CALL_GENERAL_TO_MS as wmi_call timeout
Replace all wmi_call timeouts that are less than 100 msec to use WIL_WMI_CALL_GENERAL_TO_MS (100 msec) as a default. Some of the current wmi_call timeouts are too short and fails to receive its waiting events. Signed-off-by: Ahmad Masri <amasri@codeaurora.org> Signed-off-by: Maya Erez <merez@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/wil6210/cfg80211.c3
-rw-r--r--drivers/net/wireless/ath/wil6210/debugfs.c2
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c9
-rw-r--r--drivers/net/wireless/ath/wil6210/wil6210.h1
-rw-r--r--drivers/net/wireless/ath/wil6210/wmi.c32
5 files changed, 29 insertions, 18 deletions
diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c
index 64da2be38760..d436cc51dfd1 100644
--- a/drivers/net/wireless/ath/wil6210/cfg80211.c
+++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
@@ -314,7 +314,8 @@ int wil_cid_fill_sinfo(struct wil6210_vif *vif, int cid,
314 memset(&reply, 0, sizeof(reply)); 314 memset(&reply, 0, sizeof(reply));
315 315
316 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, &cmd, sizeof(cmd), 316 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, &cmd, sizeof(cmd),
317 WMI_NOTIFY_REQ_DONE_EVENTID, &reply, sizeof(reply), 20); 317 WMI_NOTIFY_REQ_DONE_EVENTID, &reply, sizeof(reply),
318 WIL_WMI_CALL_GENERAL_TO_MS);
318 if (rc) 319 if (rc)
319 return rc; 320 return rc;
320 321
diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c
index 1dcdf8d0c995..74834131cf7c 100644
--- a/drivers/net/wireless/ath/wil6210/debugfs.c
+++ b/drivers/net/wireless/ath/wil6210/debugfs.c
@@ -1298,7 +1298,7 @@ static int bf_show(struct seq_file *s, void *data)
1298 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, 1298 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid,
1299 &cmd, sizeof(cmd), 1299 &cmd, sizeof(cmd),
1300 WMI_NOTIFY_REQ_DONE_EVENTID, &reply, 1300 WMI_NOTIFY_REQ_DONE_EVENTID, &reply,
1301 sizeof(reply), 20); 1301 sizeof(reply), WIL_WMI_CALL_GENERAL_TO_MS);
1302 /* if reply is all-0, ignore this CID */ 1302 /* if reply is all-0, ignore this CID */
1303 if (rc || is_all_zeros(&reply.evt, sizeof(reply.evt))) 1303 if (rc || is_all_zeros(&reply.evt, sizeof(reply.evt)))
1304 continue; 1304 continue;
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index 8790e5effa28..eae00aafaa88 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -1037,7 +1037,8 @@ static int wil_vring_init_tx(struct wil6210_vif *vif, int id, int size,
1037 if (!vif->privacy) 1037 if (!vif->privacy)
1038 txdata->dot1x_open = true; 1038 txdata->dot1x_open = true;
1039 rc = wmi_call(wil, WMI_VRING_CFG_CMDID, vif->mid, &cmd, sizeof(cmd), 1039 rc = wmi_call(wil, WMI_VRING_CFG_CMDID, vif->mid, &cmd, sizeof(cmd),
1040 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply), 100); 1040 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply),
1041 WIL_WMI_CALL_GENERAL_TO_MS);
1041 if (rc) 1042 if (rc)
1042 goto out_free; 1043 goto out_free;
1043 1044
@@ -1125,7 +1126,8 @@ static int wil_tx_vring_modify(struct wil6210_vif *vif, int ring_id, int cid,
1125 cmd.vring_cfg.tx_sw_ring.ring_mem_base = cpu_to_le64(vring->pa); 1126 cmd.vring_cfg.tx_sw_ring.ring_mem_base = cpu_to_le64(vring->pa);
1126 1127
1127 rc = wmi_call(wil, WMI_VRING_CFG_CMDID, vif->mid, &cmd, sizeof(cmd), 1128 rc = wmi_call(wil, WMI_VRING_CFG_CMDID, vif->mid, &cmd, sizeof(cmd),
1128 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply), 100); 1129 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply),
1130 WIL_WMI_CALL_GENERAL_TO_MS);
1129 if (rc) 1131 if (rc)
1130 goto fail; 1132 goto fail;
1131 1133
@@ -1205,7 +1207,8 @@ int wil_vring_init_bcast(struct wil6210_vif *vif, int id, int size)
1205 txdata->dot1x_open = true; 1207 txdata->dot1x_open = true;
1206 rc = wmi_call(wil, WMI_BCAST_VRING_CFG_CMDID, vif->mid, 1208 rc = wmi_call(wil, WMI_BCAST_VRING_CFG_CMDID, vif->mid,
1207 &cmd, sizeof(cmd), 1209 &cmd, sizeof(cmd),
1208 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply), 100); 1210 WMI_VRING_CFG_DONE_EVENTID, &reply, sizeof(reply),
1211 WIL_WMI_CALL_GENERAL_TO_MS);
1209 if (rc) 1212 if (rc)
1210 goto out_free; 1213 goto out_free;
1211 1214
diff --git a/drivers/net/wireless/ath/wil6210/wil6210.h b/drivers/net/wireless/ath/wil6210/wil6210.h
index 038329bfe44b..6f456b311a39 100644
--- a/drivers/net/wireless/ath/wil6210/wil6210.h
+++ b/drivers/net/wireless/ath/wil6210/wil6210.h
@@ -99,6 +99,7 @@ static inline u32 WIL_GET_BITS(u32 x, int b0, int b1)
99#define WIL_MAX_AMPDU_SIZE_128 (128 * 1024) /* FW/HW limit */ 99#define WIL_MAX_AMPDU_SIZE_128 (128 * 1024) /* FW/HW limit */
100#define WIL_MAX_AGG_WSIZE_64 (64) /* FW/HW limit */ 100#define WIL_MAX_AGG_WSIZE_64 (64) /* FW/HW limit */
101#define WIL6210_MAX_STATUS_RINGS (8) 101#define WIL6210_MAX_STATUS_RINGS (8)
102#define WIL_WMI_CALL_GENERAL_TO_MS 100
102 103
103/* Hardware offload block adds the following: 104/* Hardware offload block adds the following:
104 * 26 bytes - 3-address QoS data header 105 * 26 bytes - 3-address QoS data header
diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c
index 5d7eb521281c..542ef15f2e66 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.c
+++ b/drivers/net/wireless/ath/wil6210/wmi.c
@@ -40,7 +40,6 @@ MODULE_PARM_DESC(led_id,
40 " 60G device led enablement. Set the led ID (0-2) to enable"); 40 " 60G device led enablement. Set the led ID (0-2) to enable");
41 41
42#define WIL_WAIT_FOR_SUSPEND_RESUME_COMP 200 42#define WIL_WAIT_FOR_SUSPEND_RESUME_COMP 200
43#define WIL_WMI_CALL_GENERAL_TO_MS 100
44#define WIL_WMI_PCP_STOP_TO_MS 5000 43#define WIL_WMI_PCP_STOP_TO_MS 5000
45 44
46/** 45/**
@@ -2059,7 +2058,8 @@ int wmi_echo(struct wil6210_priv *wil)
2059 }; 2058 };
2060 2059
2061 return wmi_call(wil, WMI_ECHO_CMDID, vif->mid, &cmd, sizeof(cmd), 2060 return wmi_call(wil, WMI_ECHO_CMDID, vif->mid, &cmd, sizeof(cmd),
2062 WMI_ECHO_RSP_EVENTID, NULL, 0, 50); 2061 WMI_ECHO_RSP_EVENTID, NULL, 0,
2062 WIL_WMI_CALL_GENERAL_TO_MS);
2063} 2063}
2064 2064
2065int wmi_set_mac_address(struct wil6210_priv *wil, void *addr) 2065int wmi_set_mac_address(struct wil6210_priv *wil, void *addr)
@@ -2118,7 +2118,7 @@ int wmi_led_cfg(struct wil6210_priv *wil, bool enable)
2118 2118
2119 rc = wmi_call(wil, WMI_LED_CFG_CMDID, vif->mid, &cmd, sizeof(cmd), 2119 rc = wmi_call(wil, WMI_LED_CFG_CMDID, vif->mid, &cmd, sizeof(cmd),
2120 WMI_LED_CFG_DONE_EVENTID, &reply, sizeof(reply), 2120 WMI_LED_CFG_DONE_EVENTID, &reply, sizeof(reply),
2121 100); 2121 WIL_WMI_CALL_GENERAL_TO_MS);
2122 if (rc) 2122 if (rc)
2123 goto out; 2123 goto out;
2124 2124
@@ -2267,7 +2267,8 @@ int wmi_get_ssid(struct wil6210_vif *vif, u8 *ssid_len, void *ssid)
2267 memset(&reply, 0, sizeof(reply)); 2267 memset(&reply, 0, sizeof(reply));
2268 2268
2269 rc = wmi_call(wil, WMI_GET_SSID_CMDID, vif->mid, NULL, 0, 2269 rc = wmi_call(wil, WMI_GET_SSID_CMDID, vif->mid, NULL, 0,
2270 WMI_GET_SSID_EVENTID, &reply, sizeof(reply), 20); 2270 WMI_GET_SSID_EVENTID, &reply, sizeof(reply),
2271 WIL_WMI_CALL_GENERAL_TO_MS);
2271 if (rc) 2272 if (rc)
2272 return rc; 2273 return rc;
2273 2274
@@ -2304,7 +2305,8 @@ int wmi_get_channel(struct wil6210_priv *wil, int *channel)
2304 memset(&reply, 0, sizeof(reply)); 2305 memset(&reply, 0, sizeof(reply));
2305 2306
2306 rc = wmi_call(wil, WMI_GET_PCP_CHANNEL_CMDID, vif->mid, NULL, 0, 2307 rc = wmi_call(wil, WMI_GET_PCP_CHANNEL_CMDID, vif->mid, NULL, 0,
2307 WMI_GET_PCP_CHANNEL_EVENTID, &reply, sizeof(reply), 20); 2308 WMI_GET_PCP_CHANNEL_EVENTID, &reply, sizeof(reply),
2309 WIL_WMI_CALL_GENERAL_TO_MS);
2308 if (rc) 2310 if (rc)
2309 return rc; 2311 return rc;
2310 2312
@@ -2400,7 +2402,8 @@ int wmi_stop_discovery(struct wil6210_vif *vif)
2400 wil_dbg_wmi(wil, "sending WMI_DISCOVERY_STOP_CMDID\n"); 2402 wil_dbg_wmi(wil, "sending WMI_DISCOVERY_STOP_CMDID\n");
2401 2403
2402 rc = wmi_call(wil, WMI_DISCOVERY_STOP_CMDID, vif->mid, NULL, 0, 2404 rc = wmi_call(wil, WMI_DISCOVERY_STOP_CMDID, vif->mid, NULL, 0,
2403 WMI_DISCOVERY_STOPPED_EVENTID, NULL, 0, 100); 2405 WMI_DISCOVERY_STOPPED_EVENTID, NULL, 0,
2406 WIL_WMI_CALL_GENERAL_TO_MS);
2404 2407
2405 if (rc) 2408 if (rc)
2406 wil_err(wil, "Failed to stop discovery\n"); 2409 wil_err(wil, "Failed to stop discovery\n");
@@ -2546,12 +2549,14 @@ int wmi_rxon(struct wil6210_priv *wil, bool on)
2546 if (on) { 2549 if (on) {
2547 rc = wmi_call(wil, WMI_START_LISTEN_CMDID, vif->mid, NULL, 0, 2550 rc = wmi_call(wil, WMI_START_LISTEN_CMDID, vif->mid, NULL, 0,
2548 WMI_LISTEN_STARTED_EVENTID, 2551 WMI_LISTEN_STARTED_EVENTID,
2549 &reply, sizeof(reply), 100); 2552 &reply, sizeof(reply),
2553 WIL_WMI_CALL_GENERAL_TO_MS);
2550 if ((rc == 0) && (reply.evt.status != WMI_FW_STATUS_SUCCESS)) 2554 if ((rc == 0) && (reply.evt.status != WMI_FW_STATUS_SUCCESS))
2551 rc = -EINVAL; 2555 rc = -EINVAL;
2552 } else { 2556 } else {
2553 rc = wmi_call(wil, WMI_DISCOVERY_STOP_CMDID, vif->mid, NULL, 0, 2557 rc = wmi_call(wil, WMI_DISCOVERY_STOP_CMDID, vif->mid, NULL, 0,
2554 WMI_DISCOVERY_STOPPED_EVENTID, NULL, 0, 20); 2558 WMI_DISCOVERY_STOPPED_EVENTID, NULL, 0,
2559 WIL_WMI_CALL_GENERAL_TO_MS);
2555 } 2560 }
2556 2561
2557 return rc; 2562 return rc;
@@ -2640,7 +2645,8 @@ int wmi_get_temperature(struct wil6210_priv *wil, u32 *t_bb, u32 *t_rf)
2640 memset(&reply, 0, sizeof(reply)); 2645 memset(&reply, 0, sizeof(reply));
2641 2646
2642 rc = wmi_call(wil, WMI_TEMP_SENSE_CMDID, vif->mid, &cmd, sizeof(cmd), 2647 rc = wmi_call(wil, WMI_TEMP_SENSE_CMDID, vif->mid, &cmd, sizeof(cmd),
2643 WMI_TEMP_SENSE_DONE_EVENTID, &reply, sizeof(reply), 100); 2648 WMI_TEMP_SENSE_DONE_EVENTID, &reply, sizeof(reply),
2649 WIL_WMI_CALL_GENERAL_TO_MS);
2644 if (rc) 2650 if (rc)
2645 return rc; 2651 return rc;
2646 2652
@@ -2822,7 +2828,7 @@ int wmi_addba_rx_resp(struct wil6210_priv *wil,
2822 2828
2823 rc = wmi_call(wil, WMI_RCP_ADDBA_RESP_CMDID, mid, &cmd, sizeof(cmd), 2829 rc = wmi_call(wil, WMI_RCP_ADDBA_RESP_CMDID, mid, &cmd, sizeof(cmd),
2824 WMI_RCP_ADDBA_RESP_SENT_EVENTID, &reply, sizeof(reply), 2830 WMI_RCP_ADDBA_RESP_SENT_EVENTID, &reply, sizeof(reply),
2825 100); 2831 WIL_WMI_CALL_GENERAL_TO_MS);
2826 if (rc) 2832 if (rc)
2827 return rc; 2833 return rc;
2828 2834
@@ -2904,7 +2910,7 @@ int wmi_ps_dev_profile_cfg(struct wil6210_priv *wil,
2904 rc = wmi_call(wil, WMI_PS_DEV_PROFILE_CFG_CMDID, vif->mid, 2910 rc = wmi_call(wil, WMI_PS_DEV_PROFILE_CFG_CMDID, vif->mid,
2905 &cmd, sizeof(cmd), 2911 &cmd, sizeof(cmd),
2906 WMI_PS_DEV_PROFILE_CFG_EVENTID, &reply, sizeof(reply), 2912 WMI_PS_DEV_PROFILE_CFG_EVENTID, &reply, sizeof(reply),
2907 100); 2913 WIL_WMI_CALL_GENERAL_TO_MS);
2908 if (rc) 2914 if (rc)
2909 return rc; 2915 return rc;
2910 2916
@@ -2941,7 +2947,7 @@ int wmi_set_mgmt_retry(struct wil6210_priv *wil, u8 retry_short)
2941 rc = wmi_call(wil, WMI_SET_MGMT_RETRY_LIMIT_CMDID, vif->mid, 2947 rc = wmi_call(wil, WMI_SET_MGMT_RETRY_LIMIT_CMDID, vif->mid,
2942 &cmd, sizeof(cmd), 2948 &cmd, sizeof(cmd),
2943 WMI_SET_MGMT_RETRY_LIMIT_EVENTID, &reply, sizeof(reply), 2949 WMI_SET_MGMT_RETRY_LIMIT_EVENTID, &reply, sizeof(reply),
2944 100); 2950 WIL_WMI_CALL_GENERAL_TO_MS);
2945 if (rc) 2951 if (rc)
2946 return rc; 2952 return rc;
2947 2953
@@ -2971,7 +2977,7 @@ int wmi_get_mgmt_retry(struct wil6210_priv *wil, u8 *retry_short)
2971 memset(&reply, 0, sizeof(reply)); 2977 memset(&reply, 0, sizeof(reply));
2972 rc = wmi_call(wil, WMI_GET_MGMT_RETRY_LIMIT_CMDID, vif->mid, NULL, 0, 2978 rc = wmi_call(wil, WMI_GET_MGMT_RETRY_LIMIT_CMDID, vif->mid, NULL, 0,
2973 WMI_GET_MGMT_RETRY_LIMIT_EVENTID, &reply, sizeof(reply), 2979 WMI_GET_MGMT_RETRY_LIMIT_EVENTID, &reply, sizeof(reply),
2974 100); 2980 WIL_WMI_CALL_GENERAL_TO_MS);
2975 if (rc) 2981 if (rc)
2976 return rc; 2982 return rc;
2977 2983