فهرست منبع

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
Abhishek Singh 8 سال پیش
والد
کامیت
6e4621c725
1فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 9 0
      core/sme/src/csr/csr_api_roam.c

+ 9 - 0
core/sme/src/csr/csr_api_roam.c

@@ -8879,7 +8879,16 @@ static void csr_roam_join_rsp_processor(tpAniSirGlobal pMac,
 					QDF_TRACE_LEVEL_ERROR,
 					FL("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,
 					pSmeJoinRsp->sessionId);
 		}