summaryrefslogtreecommitdiff
path: root/core/sme/src/csr/csr_api_roam.c
diff options
context:
space:
mode:
authorYeshwanth Sriram <ysriramg@codeaurora.org>2018-12-20 20:17:38 +0530
committerAhmed ElArabawy <arabawy@google.com>2019-01-22 03:47:50 +0000
commitb167f9a6f268385e07148b09f36314595f70457f (patch)
tree51e211072519803b0ace819fa7ccc164c54277e7 /core/sme/src/csr/csr_api_roam.c
parent8b99eb93742849ea3fb038371a630d0bff90381a (diff)
downloadqcacld-b167f9a6f268385e07148b09f36314595f70457f.tar.gz
qcacld-3.0: Fix e_sme_command_nss_update stuck issue
Update NSS command is remove once driver receive the tx completion event for the beacon. If SAP is in CAC wait state driver will not get the tx completion for the beacon and the update NSS will timeout after 30 sec and the serialization cmds queues will get stuck. To avoid this remove the update NSS command from active queue as soon as beacon is sent to firmware Bug: 115323802 Test: IFS and regression test: b/122336305 Test: ATCS for AU drop test: b/122336929 Change-Id: I6f5b6bce91bdfacd4621020f313be25f74696b9d CRs-Fixed: 2332302 Signed-off-by: Srinivas Girigowda <quic_sgirigow@quicinc.com>
Diffstat (limited to 'core/sme/src/csr/csr_api_roam.c')
-rw-r--r--core/sme/src/csr/csr_api_roam.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index 35f396c4c8..4ff87dc2ee 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -21708,7 +21708,7 @@ void csr_process_nss_update_req(tpAniSirGlobal mac, tSmeCmd *command)
struct sir_nss_update_request *msg;
QDF_STATUS status;
tSirMsgQ msg_return;
- struct sir_beacon_tx_complete_rsp *param;
+ struct sir_bcn_update_rsp *param;
tCsrRoamSession *session;
@@ -21737,11 +21737,10 @@ void csr_process_nss_update_req(tpAniSirGlobal mac, tSmeCmd *command)
sme_debug("Posting eWNI_SME_NSS_UPDATE_REQ to PE");
status = cds_send_mb_message_to_mac(msg);
- if (QDF_STATUS_SUCCESS != status) {
- sme_err("Posting to PE failed");
+ if (QDF_IS_STATUS_SUCCESS(status))
return;
- }
- return;
+
+ sme_err("Posting to PE failed");
fail:
param = qdf_mem_malloc(sizeof(*param));
if (!param) {
@@ -21750,8 +21749,9 @@ fail:
return;
}
sme_err("Sending nss update fail response to SME");
- param->tx_status = QDF_STATUS_E_FAILURE;
- param->session_id = command->u.nss_update_cmd.session_id;
+ param->status = QDF_STATUS_E_FAILURE;
+ param->vdev_id = command->u.nss_update_cmd.session_id;
+ param->reason = REASON_NSS_UPDATE;
msg_return.type = eWNI_SME_NSS_UPDATE_RSP;
msg_return.bodyptr = param;
msg_return.bodyval = 0;