ソースを参照

qcacld-3.0: Match the timeout values at HDD with SME cmd timeout

Change the timeout values at HDD to match sme cmd timeout in all the
instances where HDD is sending cmd via SME command queue.

Change-Id: I00337169804b9ce71562cb114e4c2b92a7534dba
Crs-Fixed: 1100854
Naveen Rawat 8 年 前
コミット
b56880cd83

+ 3 - 3
core/cds/src/cds_concurrency.c

@@ -6521,8 +6521,8 @@ void cds_restart_sap(hdd_adapter_t *ap_adapter)
 		if (QDF_STATUS_SUCCESS == wlansap_stop_bss(sap_ctx)) {
 			qdf_status =
 				qdf_wait_single_event(&hostapd_state->
-						qdf_stop_bss_event,
-						BSS_WAIT_TIMEOUT);
+					qdf_stop_bss_event,
+					SME_CMD_TIMEOUT_VALUE);
 
 			if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 				cds_err("SAP Stop Failed");
@@ -6554,7 +6554,7 @@ void cds_restart_sap(hdd_adapter_t *ap_adapter)
 		cds_info("Waiting for SAP to start");
 		qdf_status =
 			qdf_wait_single_event(&hostapd_state->qdf_event,
-					BSS_WAIT_TIMEOUT);
+					SME_CMD_TIMEOUT_VALUE);
 		wlansap_reset_sap_config_add_ie(sap_config,
 				eUPDATE_IE_ALL);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {

+ 0 - 2
core/hdd/inc/wlan_hdd_main.h

@@ -264,8 +264,6 @@
 #define NET_NAME_UNKNOWN	0
 #endif
 
-#define BSS_WAIT_TIMEOUT 10000
-
 #define PRE_CAC_SSID "pre_cac_ssid"
 
 /* session ID invalid */

+ 6 - 4
core/hdd/src/wlan_hdd_cfg80211.c

@@ -13749,8 +13749,9 @@ int __wlan_hdd_cfg80211_del_station(struct wiphy *wiphy,
 						isDeauthInProgress = true;
 						qdf_status =
 							qdf_wait_single_event(
-								&hapd_state->qdf_sta_disassoc_event,
-								1000);
+							 &hapd_state->
+							 qdf_sta_disassoc_event,
+							 SME_CMD_TIMEOUT_VALUE);
 						if (!QDF_IS_STATUS_SUCCESS(
 								qdf_status))
 							hdd_err("Deauth wait time expired");
@@ -13813,8 +13814,9 @@ int __wlan_hdd_cfg80211_del_station(struct wiphy *wiphy,
 				return -ENOENT;
 			} else {
 				qdf_status = qdf_wait_single_event(
-							&hapd_state->qdf_sta_disassoc_event,
-							1000);
+						&hapd_state->
+						qdf_sta_disassoc_event,
+						SME_CMD_TIMEOUT_VALUE);
 				if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 					hdd_err("Deauth wait time expired");
 			}

+ 6 - 5
core/hdd/src/wlan_hdd_hostapd.c

@@ -4808,8 +4808,8 @@ __iw_softap_stopbss(struct net_device *dev,
 		if (QDF_IS_STATUS_SUCCESS(status)) {
 			qdf_status =
 				qdf_wait_single_event(&pHostapdState->
-						      qdf_stop_bss_event,
-						      10000);
+					qdf_stop_bss_event,
+					SME_CMD_TIMEOUT_VALUE);
 
 			if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 				hdd_err("wait for single_event failed!!");
@@ -7679,7 +7679,8 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter,
 
 	hdd_notice("Waiting for Scan to complete(auto mode) and BSS to start");
 
-	qdf_status = qdf_wait_single_event(&pHostapdState->qdf_event, 10000);
+	qdf_status = qdf_wait_single_event(&pHostapdState->qdf_event,
+						SME_CMD_TIMEOUT_VALUE);
 
 	wlansap_reset_sap_config_add_ie(pConfig, eUPDATE_IE_ALL);
 
@@ -7856,8 +7857,8 @@ static int __wlan_hdd_cfg80211_stop_ap(struct wiphy *wiphy,
 		if (QDF_IS_STATUS_SUCCESS(status)) {
 			qdf_status =
 				qdf_wait_single_event(&pHostapdState->
-						      qdf_stop_bss_event,
-						      10000);
+					qdf_stop_bss_event,
+					SME_CMD_TIMEOUT_VALUE);
 
 			if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 				hdd_err("HDD qdf wait for single_event failed!!");

+ 5 - 5
core/hdd/src/wlan_hdd_main.c

@@ -3693,8 +3693,8 @@ QDF_STATUS hdd_stop_adapter(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter,
 						qdf_stop_bss_event);
 				qdf_status =
 					qdf_wait_single_event(&hostapd_state->
-							qdf_stop_bss_event,
-							BSS_WAIT_TIMEOUT);
+					qdf_stop_bss_event,
+					SME_CMD_TIMEOUT_VALUE);
 
 				if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 					hdd_err("failure waiting for wlansap_stop_bss %d",
@@ -9037,8 +9037,8 @@ void wlan_hdd_stop_sap(hdd_adapter_t *ap_adapter)
 		if (QDF_STATUS_SUCCESS == wlansap_stop_bss(hdd_ap_ctx->
 							sapContext)) {
 			qdf_status = qdf_wait_single_event(&hostapd_state->
-							   qdf_stop_bss_event,
-							   BSS_WAIT_TIMEOUT);
+					qdf_stop_bss_event,
+					SME_CMD_TIMEOUT_VALUE);
 			if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 				mutex_unlock(&hdd_ctx->sap_lock);
 				hdd_err("SAP Stop Failed");
@@ -9109,7 +9109,7 @@ void wlan_hdd_start_sap(hdd_adapter_t *ap_adapter)
 
 	hdd_info("Waiting for SAP to start");
 	qdf_status = qdf_wait_single_event(&hostapd_state->qdf_event,
-					BSS_WAIT_TIMEOUT);
+					SME_CMD_TIMEOUT_VALUE);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 		hdd_err("SAP Start failed");
 		goto end;

+ 1 - 3
core/sap/src/sap_fsm.c

@@ -2497,8 +2497,6 @@ QDF_STATUS sap_goto_channel_sel(ptSapContext sap_context,
  *
  * Return: QDF_STATUS
  */
-
-#define SAP_OPEN_SESSION_TIMEOUT 30000
 QDF_STATUS sap_open_session(tHalHandle hHal, ptSapContext sapContext,
 			    uint32_t *session_id)
 {
@@ -2535,7 +2533,7 @@ QDF_STATUS sap_open_session(tHalHandle hHal, ptSapContext sapContext,
 	}
 
 	status = qdf_wait_single_event(&sapContext->sap_session_opened_evt,
-				       SAP_OPEN_SESSION_TIMEOUT);
+					SME_CMD_TIMEOUT_VALUE);
 
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
 		QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,

+ 3 - 0
core/sme/inc/sme_api.h

@@ -82,6 +82,9 @@
 #define ROAM_CONFIG_TO_SME_CONFIG 2
 
 #define NUM_OF_BANDS 2
+
+#define SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE (30*1000)
+#define SME_CMD_TIMEOUT_VALUE (SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE + 1000)
 /*--------------------------------------------------------------------------
   Type declarations
   ------------------------------------------------------------------------*/

+ 1 - 1
core/sme/src/common/sme_api.c

@@ -385,7 +385,7 @@ static QDF_STATUS init_sme_cmd_list(tpAniSirGlobal pMac)
 			pMac->sme.smeCmdActiveList.cmdTimeoutTimer = NULL;
 		} else {
 			pMac->sme.smeCmdActiveList.cmdTimeoutDuration =
-				CSR_ACTIVE_LIST_CMD_TIMEOUT_VALUE;
+				SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE;
 		}
 	}
 

+ 5 - 6
core/sme/src/csr/csr_inside_api.h

@@ -96,17 +96,16 @@
 #define CSR_ROAMING_DFS_CHANNEL_ENABLED_NORMAL     (1)
 #define CSR_ROAMING_DFS_CHANNEL_ENABLED_ACTIVE     (2)
 
-/* ***************************************************************************
- * The MAX BSSID Count should be lower than the command timeout value and it
- * can be of a fraction of 3/4 of the total command timeout value.
- * ***************************************************************************/
-#define CSR_ACTIVE_LIST_CMD_TIMEOUT_VALUE (1000*30)
 #ifdef QCA_WIFI_3_0_EMU
 #define CSR_ACTIVE_SCAN_LIST_CMD_TIMEOUT (1000*30*20)
 #else
 #define CSR_ACTIVE_SCAN_LIST_CMD_TIMEOUT (1000*30)
 #endif
-#define CSR_MAX_BSSID_COUNT     ((CSR_ACTIVE_LIST_CMD_TIMEOUT_VALUE/4000) * 3)
+/* ***************************************************************************
+ * The MAX BSSID Count should be lower than the command timeout value and it
+ * can be of a fraction of 3/4 of the total command timeout value.
+ * ***************************************************************************/
+#define CSR_MAX_BSSID_COUNT     ((SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE/4000) * 3)
 #define CSR_CUSTOM_CONC_GO_BI    100
 
 typedef enum {