qcacld-3.0: Set the key installed flag to sta_ds after roam

After roaming, new pe session is created and based on the authentication
status received in the roam synch indication, the is_key_installed flag
is set. But this flag is not set to sta ds after roaming.
This causes deauth frame to roamed AP sent out unencrypted after
roam.

Set the key installed flag to sta ds if the auth status in
roam synch indication is authenticated.
If the status is connected, this flag will be set in the
set key response path.

Change-Id: I9784fc4e44bb859b8ad075b164ed9bddc4c4fc36
CRs-Fixed: 2635262
This commit is contained in:
Pragaspathi Thilagaraj 2020-04-10 16:28:42 +05:30 committed by nshrivas
parent 45c353be7b
commit 7e8cad2ad7
2 changed files with 9 additions and 2 deletions

View File

@ -2602,6 +2602,12 @@ pe_roam_synch_callback(struct mac_context *mac_ctx,
ft_session_ptr->bRoamSynchInProgress = true;
if (roam_sync_ind_ptr->authStatus ==
CSR_ROAM_AUTH_STATUS_AUTHENTICATED) {
ft_session_ptr->is_key_installed = true;
curr_sta_ds->is_key_installed = true;
}
lim_process_assoc_rsp_frame(mac_ctx, mac_ctx->roam.pReassocResp,
LIM_REASSOC, ft_session_ptr);
@ -2674,8 +2680,6 @@ pe_roam_synch_callback(struct mac_context *mac_ctx,
qdf_mem_free(mac_ctx->roam.pReassocResp);
mac_ctx->roam.pReassocResp = NULL;
if (roam_sync_ind_ptr->authStatus == CSR_ROAM_AUTH_STATUS_AUTHENTICATED)
ft_session_ptr->is_key_installed = true;
return QDF_STATUS_SUCCESS;
}

View File

@ -5098,6 +5098,9 @@ lim_set_protected_bit(struct mac_context *mac,
*/
if (sta->rmfEnabled && sta->is_key_installed)
pMacHdr->fc.wep = 1;
pe_debug("wep:%d rmf:%d is_key_set:%d", pMacHdr->fc.wep,
sta->rmfEnabled, sta->is_key_installed);
}
} /*** end lim_set_protected_bit() ***/
#endif