qcacld-3.0: Wait for key install in SAE/OWE as well

EAPOL handshake is done by wpa_supplicant in initial connection
and WPA3 roaming as well. Driver is supposed to wait for EAPOL
handshake/key complete timeout after getting roam sync indication
from firmware. But this wait is skipped with the change
change-id : Ie4f06cfcb066ae245de024b62da586aade783aec.
Add the same check again.

Change-Id: I437c6be15d7c1a3775a177c2da6c581d417c2533
CRs-Fixed: 2963548
This commit is contained in:
Srinivas Dasari
2021-06-07 18:28:41 +05:30
committed by Madan Koyyalamudi
parent 98868eb40c
commit ff58fd853b
3 changed files with 7 additions and 6 deletions

View File

@@ -655,10 +655,11 @@ static QDF_STATUS cm_process_roam_keys(struct wlan_objmgr_vdev *vdev,
} }
qdf_mem_zero(pmkid_cache, sizeof(*pmkid_cache)); qdf_mem_zero(pmkid_cache, sizeof(*pmkid_cache));
qdf_mem_free(pmkid_cache); qdf_mem_free(pmkid_cache);
} else { }
if (roaming_info->auth_status != ROAM_AUTH_STATUS_AUTHENTICATED)
cm_update_wait_for_key_timer(vdev, vdev_id, cm_update_wait_for_key_timer(vdev, vdev_id,
WAIT_FOR_KEY_TIMEOUT_PERIOD); WAIT_FOR_KEY_TIMEOUT_PERIOD);
}
end: end:
return status; return status;
} }

View File

@@ -985,9 +985,7 @@ static bool hdd_cm_is_roam_auth_required(struct hdd_station_ctx *sta_ctx,
if (!rsp->roaming_info) if (!rsp->roaming_info)
return false; return false;
if (rsp->roaming_info->auth_status == ROAM_AUTH_STATUS_AUTHENTICATED || if (rsp->roaming_info->auth_status == ROAM_AUTH_STATUS_AUTHENTICATED)
sta_ctx->conn_info.auth_type == eCSR_AUTH_TYPE_SAE ||
sta_ctx->conn_info.auth_type == eCSR_AUTH_TYPE_OWE)
return false; return false;
return true; return true;

View File

@@ -16945,7 +16945,9 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
} }
qdf_mem_zero(pmkid_cache, sizeof(*pmkid_cache)); qdf_mem_zero(pmkid_cache, sizeof(*pmkid_cache));
qdf_mem_free(pmkid_cache); qdf_mem_free(pmkid_cache);
} else { }
if (roam_synch_data->auth_status != ROAM_AUTH_STATUS_AUTHENTICATED) {
roam_info->fAuthRequired = true; roam_info->fAuthRequired = true;
cm_update_wait_for_key_timer(vdev, session_id, cm_update_wait_for_key_timer(vdev, session_id,
WAIT_FOR_KEY_TIMEOUT_PERIOD); WAIT_FOR_KEY_TIMEOUT_PERIOD);