Kaynağa Gözat

qcacld-3.0: Disable roaming for SAE

SAE is supported only for fresh connection. Hence, disable roaming
for SAE.

Change-Id: I53a03a3ea2955a7a8e67105f24e01e19a72be72c
CRs-Fixed: 2029357
Padma, Santhosh Kumar 7 yıl önce
ebeveyn
işleme
2b1e57ed75
2 değiştirilmiş dosya ile 15 ekleme ve 0 silme
  1. 7 0
      core/sme/inc/csr_api.h
  2. 8 0
      core/sme/src/csr/csr_api_roam.c

+ 7 - 0
core/sme/inc/csr_api.h

@@ -1777,6 +1777,13 @@ typedef QDF_STATUS (*csr_session_close_cb)(uint8_t session_id);
 #define CSR_IS_CONN_NDI(profile)  (false)
 #endif
 
+#ifdef WLAN_FEATURE_SAE
+#define CSR_IS_AUTH_TYPE_SAE(auth_type) \
+	(eCSR_AUTH_TYPE_SAE == auth_type)
+#else
+#define CSR_IS_AUTH_TYPE_SAE(auth_type) (false)
+#endif
+
 QDF_STATUS csr_set_channels(tHalHandle hHal, tCsrConfigParam *pParam);
 
 /* enum to string conversion for debug output */

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

@@ -19000,6 +19000,14 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id,
 		return QDF_STATUS_SUCCESS;
 	}
 
+	/* Roaming is not supported currently for SAE authentication */
+	if (session->pCurRoamProfile &&
+			CSR_IS_AUTH_TYPE_SAE(
+		session->pCurRoamProfile->AuthType.authType[0])) {
+		sme_info("Roaming not suppprted for SAE connection");
+		return QDF_STATUS_SUCCESS;
+	}
+
 	/*
 	 * The Dynamic Config Items Update may happen even if the state is in
 	 * INIT. It is important to ensure that the command is passed down to