qcacld-3.0: Update sae_single_pmk info in RSO start command
Requirement is to allow station to just keeps only one PMK1 and PMKID1 which gets derived while first connection and re-use it for roaming to other AP which has some specific VSIE. To support this feature, STA should Set new flag in 11i params during RSO start/update when initial connection is completed based on the VSIE in AP beacon/probe response frame. This flag will allow fw to roam to AP(s) which has VSIE with single PMK. Update PMK info in RSO start command with sae_single_pmk info if initial connection is completed with AP contains VSIE. Change-Id: I839b48da48f92f24444e69405d87560186d7f986 CRs-Fixed: 2616029
This commit is contained in:
@@ -3638,6 +3638,34 @@ void wlan_mlme_update_sae_single_pmk(struct wlan_objmgr_vdev *vdev,
|
||||
is_sae_connection)
|
||||
mlme_priv->mlme_roam.sae_single_pmk.pmk_info = *sae_single_pmk;
|
||||
}
|
||||
|
||||
void wlan_mlme_get_sae_single_pmk_info(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_mlme_sae_single_pmk *pmksa)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
struct mlme_pmk_info pmk_info;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_legacy_err("vdev legacy private object is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
pmk_info = mlme_priv->mlme_roam.sae_single_pmk.pmk_info;
|
||||
|
||||
pmksa->sae_single_pmk_ap =
|
||||
mlme_priv->mlme_roam.sae_single_pmk.sae_single_pmk_ap;
|
||||
|
||||
if (pmk_info.pmk_len) {
|
||||
qdf_mem_copy(pmksa->pmk_info.pmk, pmk_info.pmk,
|
||||
pmk_info.pmk_len);
|
||||
pmksa->pmk_info.pmk_len = pmk_info.pmk_len;
|
||||
return;
|
||||
}
|
||||
|
||||
qdf_mem_zero(pmksa->pmk_info.pmk, sizeof(*pmksa->pmk_info.pmk));
|
||||
pmksa->pmk_info.pmk_len = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
char *mlme_get_roam_fail_reason_str(uint32_t result)
|
||||
|
Reference in New Issue
Block a user