While initial connection with SPMK AP1 supplicant generates
PMK1, and DUT updates global mlme single pmk entry and
csr session pmk.
Now DUT roam to non-SPMK AP2 and generates PMK2, Global mlme
single pmk has SPMK AP1 PMK1 and csr_roam_session has non-SPMK
AP2 since FULL SAE happen.
Now Roam back to SPMK AP1, since the Full SAE does not happen
and due to check roam_synch_data->authStatus ==
CSR_ROAM_AUTH_STATUS_AUTHENTICATED in
csr_process_roam_synch_callback(). The lookup and update
csr_roam_session code is not hit and driver don’t update
csr session pmk after roaming to SPMK AP. So after roam sync complete,
csr_check_and_set_sae_single_pmk_cap() updates the global mlme
single pmk with session->psk_pmk. This results DUT uses PMK generated
from a Non-Single PMK supported AP in the ReAssoc Request frame
while Roaming to Single PMK supported AP.
Fix is to allow driver to update session->psk_pmk even in case
Full SAE does not happen.
Change-Id: Ie4f06cfcb066ae245de024b62da586aade783aec
CRs-Fixed: 2761771