summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@codeaurora.org>2017-03-31 13:13:10 +0530
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-31 09:44:47 -0700
commit7a6ca55edb9888b90bf21187869cd4c02f88c1b0 (patch)
treeb667afb83ae07855414e5ce9c028b01851b53991
parent79d94c85403534f7ce9b9fb0616a4328718509cf (diff)
qcacld-3.0: Fix scan failure issue
If number of BSSID tried by CSR reach max bss limit for the connect request, no more AP are tried and failure is sent to hdd. But as PE session ref count is 1, assoc completion is sent instead of assoc failure and thus HDD does not send the connect failure to upper layer. Also the HDD state remains in "eConnectionState_Connecting" state and is not moved to eConnectionState_NotConnected state and thus scan fails. To fix this decrease the PE session ref count if number of BSSID tried by csr reaches max BSS limit for the connect request. Change-Id: I43ea4fa67d968ee648c47c2d52c0dd98d67f051d CRs-fixed: 2027306
-rw-r--r--core/sme/src/csr/csr_api_roam.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index 6c92c9484b64..cfb2a2515f94 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -8714,7 +8714,14 @@ static void csr_roam_join_rsp_processor(tpAniSirGlobal pMac,
QDF_TRACE_LEVEL_ERROR,
"disconnect is pending, complete roam");
+ if (session_ptr->bRefAssocStartCnt)
+ session_ptr->bRefAssocStartCnt--;
+
session_ptr->join_bssid_count = 0;
+ csr_roam_call_callback(pMac, session_ptr->sessionId,
+ NULL, roamId,
+ eCSR_ROAM_ASSOCIATION_COMPLETION,
+ eCSR_ROAM_RESULT_NOT_ASSOCIATED);
csr_roam_complete(pMac, eCsrNothingToJoin, NULL);
}
} /*else: ( eSIR_SME_SUCCESS == pSmeJoinRsp->statusCode ) */