diff --git a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c index ee6c33841b00..85d6346bd05f 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c @@ -137,6 +137,7 @@ static void lim_convert_supported_channels(tpAniSirGlobal mac_ctx, * lim_check_sta_in_pe_entries() - checks if sta exists in any dph tables. * @mac_ctx: Pointer to Global MAC structure * @hdr: A pointer to the MAC header + * @sessionid - session id for which session is initiated * * This function is called by lim_process_assoc_req_frame() to check if STA * entry already exists in any of the PE entries of the AP. If it exists, deauth @@ -145,7 +146,8 @@ static void lim_convert_supported_channels(tpAniSirGlobal mac_ctx, * * Return: void */ -void lim_check_sta_in_pe_entries(tpAniSirGlobal mac_ctx, tpSirMacMgmtHdr hdr) +void lim_check_sta_in_pe_entries(tpAniSirGlobal mac_ctx, tpSirMacMgmtHdr hdr, + uint16_t sessionid) { uint8_t i; uint16_t assoc_id = 0; @@ -161,7 +163,8 @@ void lim_check_sta_in_pe_entries(tpAniSirGlobal mac_ctx, tpSirMacMgmtHdr hdr) &assoc_id, &session->dph.dphHashTable); if (sta_ds #ifdef WLAN_FEATURE_11W - && !sta_ds->rmfEnabled + && (!sta_ds->rmfEnabled || + (sessionid != session->peSessionId)) #endif ) { lim_log(mac_ctx, LOGE, @@ -1778,7 +1781,7 @@ void lim_process_assoc_req_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info, return; } - lim_check_sta_in_pe_entries(mac_ctx, hdr); + lim_check_sta_in_pe_entries(mac_ctx, hdr, session->peSessionId); /* Get pointer to Re/Association Request frame body */ frm_body = WMA_GET_RX_MPDU_DATA(rx_pkt_info); diff --git a/core/mac/src/pe/lim/lim_process_auth_frame.c b/core/mac/src/pe/lim/lim_process_auth_frame.c index b996942bd40b..149091f11d0a 100644 --- a/core/mac/src/pe/lim/lim_process_auth_frame.c +++ b/core/mac/src/pe/lim/lim_process_auth_frame.c @@ -357,7 +357,7 @@ static void lim_process_auth_frame_type1(tpAniSirGlobal mac_ctx, * received but ACK lost at STA side, in this case 2nd * auth frame is already in transmission queue */ - lim_log(mac_ctx, LOGE, + lim_log(mac_ctx, LOGW, FL("STA is initiating Auth after ACK lost")); return; }