diff options
author | Yeshwanth Sriram <ysriramg@codeaurora.org> | 2018-12-20 20:17:38 +0530 |
---|---|---|
committer | Ahmed ElArabawy <arabawy@google.com> | 2019-01-22 03:47:50 +0000 |
commit | b167f9a6f268385e07148b09f36314595f70457f (patch) | |
tree | 51e211072519803b0ace819fa7ccc164c54277e7 /core/sme/src/csr/csr_api_roam.c | |
parent | 8b99eb93742849ea3fb038371a630d0bff90381a (diff) | |
download | qcacld-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.c | 14 |
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; |