qcacld-3.0: Reduce the command timeout for Start/Stop BSS command to 10s
Currently the command timeout value in serialization for start_bss and stop_bss commands for SAP are set to 30 seconds which is too high. Reduce the command timeout value for SAP start_bss and stop_bss commands in serialization to 10 seconds. Change-Id: I1bcfe13de92a703ec55445b344a502f7843bbed8 CRs-Fixed: 2331830
This commit is contained in:

committed by
nshrivas

parent
4f797b83dd
commit
865daaaf85
@@ -5192,7 +5192,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||||||
hdd_debug("Waiting for Scan to complete(auto mode) and BSS to start");
|
hdd_debug("Waiting for Scan to complete(auto mode) and BSS to start");
|
||||||
|
|
||||||
qdf_status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
qdf_status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
|
|
||||||
wlansap_reset_sap_config_add_ie(pConfig, eUPDATE_IE_ALL);
|
wlansap_reset_sap_config_add_ie(pConfig, eUPDATE_IE_ALL);
|
||||||
|
|
||||||
@@ -5397,7 +5397,7 @@ static int __wlan_hdd_cfg80211_stop_ap(struct wiphy *wiphy,
|
|||||||
qdf_status =
|
qdf_status =
|
||||||
qdf_wait_for_event_completion(&hostapd_state->
|
qdf_wait_for_event_completion(&hostapd_state->
|
||||||
qdf_stop_bss_event,
|
qdf_stop_bss_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
hdd_err("qdf wait for single_event failed!!");
|
hdd_err("qdf wait for single_event failed!!");
|
||||||
|
@@ -2146,7 +2146,7 @@ __iw_softap_stopbss(struct net_device *dev,
|
|||||||
status =
|
status =
|
||||||
qdf_wait_for_event_completion(&hostapd_state->
|
qdf_wait_for_event_completion(&hostapd_state->
|
||||||
qdf_stop_bss_event,
|
qdf_stop_bss_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
hdd_err("wait for single_event failed!!");
|
hdd_err("wait for single_event failed!!");
|
||||||
|
@@ -5163,7 +5163,7 @@ QDF_STATUS hdd_stop_adapter_ext(struct hdd_context *hdd_ctx,
|
|||||||
qdf_status =
|
qdf_status =
|
||||||
qdf_wait_for_event_completion(
|
qdf_wait_for_event_completion(
|
||||||
&hostapd_state->qdf_stop_bss_event,
|
&hostapd_state->qdf_stop_bss_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
hdd_err("failure waiting for wlansap_stop_bss %d",
|
hdd_err("failure waiting for wlansap_stop_bss %d",
|
||||||
@@ -12212,7 +12212,7 @@ void wlan_hdd_stop_sap(struct hdd_adapter *ap_adapter)
|
|||||||
sap_context)) {
|
sap_context)) {
|
||||||
qdf_status = qdf_wait_for_event_completion(&hostapd_state->
|
qdf_status = qdf_wait_for_event_completion(&hostapd_state->
|
||||||
qdf_stop_bss_event,
|
qdf_stop_bss_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
mutex_unlock(&hdd_ctx->sap_lock);
|
mutex_unlock(&hdd_ctx->sap_lock);
|
||||||
hdd_err("SAP Stop Failed");
|
hdd_err("SAP Stop Failed");
|
||||||
@@ -12284,7 +12284,7 @@ void wlan_hdd_start_sap(struct hdd_adapter *ap_adapter, bool reinit)
|
|||||||
|
|
||||||
hdd_debug("Waiting for SAP to start");
|
hdd_debug("Waiting for SAP to start");
|
||||||
qdf_status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
qdf_status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
hdd_err("SAP Start failed");
|
hdd_err("SAP Start failed");
|
||||||
goto end;
|
goto end;
|
||||||
@@ -14198,7 +14198,7 @@ void hdd_restart_sap(struct hdd_adapter *ap_adapter)
|
|||||||
qdf_status =
|
qdf_status =
|
||||||
qdf_wait_for_event_completion(&hostapd_state->
|
qdf_wait_for_event_completion(&hostapd_state->
|
||||||
qdf_stop_bss_event,
|
qdf_stop_bss_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
hdd_err("SAP Stop Failed");
|
hdd_err("SAP Stop Failed");
|
||||||
@@ -14232,7 +14232,7 @@ void hdd_restart_sap(struct hdd_adapter *ap_adapter)
|
|||||||
hdd_info("Waiting for SAP to start");
|
hdd_info("Waiting for SAP to start");
|
||||||
qdf_status =
|
qdf_status =
|
||||||
qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
||||||
SME_CMD_TIMEOUT_VALUE);
|
SME_CMD_START_STOP_BSS_TIMEOUT);
|
||||||
wlansap_reset_sap_config_add_ie(sap_config,
|
wlansap_reset_sap_config_add_ie(sap_config,
|
||||||
eUPDATE_IE_ALL);
|
eUPDATE_IE_ALL);
|
||||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
||||||
|
@@ -101,6 +101,10 @@
|
|||||||
|
|
||||||
#define SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE (30*1000)
|
#define SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE (30*1000)
|
||||||
#define SME_CMD_TIMEOUT_VALUE (SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE + 1000)
|
#define SME_CMD_TIMEOUT_VALUE (SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE + 1000)
|
||||||
|
|
||||||
|
/* SME timeout for Start/Stop BSS commands is set to 10 secs */
|
||||||
|
#define SME_START_STOP_BSS_CMD_TIMEOUT (10 * 1000)
|
||||||
|
#define SME_CMD_START_STOP_BSS_TIMEOUT (SME_START_STOP_BSS_CMD_TIMEOUT + 1000)
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
Type declarations
|
Type declarations
|
||||||
------------------------------------------------------------------------*/
|
------------------------------------------------------------------------*/
|
||||||
|
@@ -20395,7 +20395,18 @@ QDF_STATUS csr_set_serialization_params_to_cmd(tpAniSirGlobal mac_ctx,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
cmd->umac_cmd = sme_cmd;
|
cmd->umac_cmd = sme_cmd;
|
||||||
cmd->cmd_timeout_duration = SME_DEFAULT_CMD_TIMEOUT;
|
|
||||||
|
/*
|
||||||
|
* For START BSS and STOP BSS commands for SAP, the command timeout
|
||||||
|
* is set to 10 seconds. For all other commands its 30 seconds
|
||||||
|
*/
|
||||||
|
if ((cmd->vdev->vdev_mlme.vdev_opmode == QDF_SAP_MODE) &&
|
||||||
|
((cmd->cmd_type == WLAN_SER_CMD_HDD_ISSUED) ||
|
||||||
|
(cmd->cmd_type == WLAN_SER_CMD_VDEV_STOP_BSS)))
|
||||||
|
cmd->cmd_timeout_duration = SME_START_STOP_BSS_CMD_TIMEOUT;
|
||||||
|
else
|
||||||
|
cmd->cmd_timeout_duration = SME_DEFAULT_CMD_TIMEOUT;
|
||||||
|
|
||||||
cmd->cmd_cb = sme_ser_cmd_callback;
|
cmd->cmd_cb = sme_ser_cmd_callback;
|
||||||
cmd->is_high_priority = high_priority;
|
cmd->is_high_priority = high_priority;
|
||||||
cmd->is_blocking = true;
|
cmd->is_blocking = true;
|
||||||
|
Reference in New Issue
Block a user