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:
parent
45c353be7b
commit
7e8cad2ad7
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user