|
@@ -14886,6 +14886,36 @@ static void csr_update_fils_connection_info(tCsrRoamProfile *profile,
|
|
|
{ }
|
|
|
#endif
|
|
|
|
|
|
+#ifdef WLAN_FEATURE_SAE
|
|
|
+/*
|
|
|
+ * csr_update_sae_config: Copy SAE info to join request
|
|
|
+ * @profile: pointer to profile
|
|
|
+ * @csr_join_req: csr join request
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static void csr_update_sae_config(tSirSmeJoinReq *csr_join_req,
|
|
|
+ tpAniSirGlobal mac, struct csr_roam_session *session)
|
|
|
+{
|
|
|
+ tPmkidCacheInfo pmkid_cache;
|
|
|
+ uint32_t index;
|
|
|
+
|
|
|
+ qdf_mem_copy(pmkid_cache.BSSID.bytes,
|
|
|
+ csr_join_req->bssDescription.bssId, QDF_MAC_ADDR_SIZE);
|
|
|
+
|
|
|
+ csr_join_req->sae_pmk_cached =
|
|
|
+ csr_lookup_pmkid_using_bssid(mac, session, &pmkid_cache, &index);
|
|
|
+
|
|
|
+ sme_debug("pmk_cached %d for BSSID=" MAC_ADDRESS_STR,
|
|
|
+ csr_join_req->sae_pmk_cached,
|
|
|
+ MAC_ADDR_ARRAY(csr_join_req->bssDescription.bssId));
|
|
|
+}
|
|
|
+#else
|
|
|
+static void csr_update_sae_config(tSirSmeJoinReq *csr_join_req,
|
|
|
+ tpAniSirGlobal mac, struct csr_roam_session *session)
|
|
|
+{ }
|
|
|
+#endif
|
|
|
+
|
|
|
/**
|
|
|
* The communication between HDD and LIM is thru mailbox (MB).
|
|
|
* Both sides will access the data structure "tSirSmeJoinReq".
|
|
@@ -15571,6 +15601,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
|
|
|
pBssDescription->length +
|
|
|
sizeof(pBssDescription->length));
|
|
|
csr_update_fils_connection_info(pProfile, csr_join_req);
|
|
|
+ csr_update_sae_config(csr_join_req, pMac, pSession);
|
|
|
/*
|
|
|
* conc_custom_rule1:
|
|
|
* If SAP comes up first and STA comes up later then SAP
|