diff options
Diffstat (limited to 'core/mac/src/pe/lim')
-rw-r--r-- | core/mac/src/pe/lim/lim_process_deauth_frame.c | 10 | ||||
-rw-r--r-- | core/mac/src/pe/lim/lim_process_disassoc_frame.c | 10 |
2 files changed, 12 insertions, 8 deletions
diff --git a/core/mac/src/pe/lim/lim_process_deauth_frame.c b/core/mac/src/pe/lim/lim_process_deauth_frame.c index 7f654b5d0d..46b2f93997 100644 --- a/core/mac/src/pe/lim/lim_process_deauth_frame.c +++ b/core/mac/src/pe/lim/lim_process_deauth_frame.c @@ -510,18 +510,20 @@ void lim_perform_deauth(tpAniSirGlobal mac_ctx, tpPESession pe_session, } if ((sta_ds->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_STA_RSP_STATE) || - (sta_ds->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_BSS_RSP_STATE)) { + (sta_ds->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_BSS_RSP_STATE) || + sta_ds->sta_deletion_in_progress) { /** * Already in the process of deleting context for the peer * and received Deauthentication frame. Log and Ignore. */ - pe_err("received Deauth frame from peer that is in state %X, addr " - MAC_ADDRESS_STR, sta_ds->mlmStaContext.mlmState, - MAC_ADDR_ARRAY(addr)); + pe_debug("Deletion is in progress (%d) for peer:%pM in mlmState %d", + sta_ds->sta_deletion_in_progress, addr, + sta_ds->mlmStaContext.mlmState); return; } sta_ds->mlmStaContext.disassocReason = (tSirMacReasonCodes) rc; sta_ds->mlmStaContext.cleanupTrigger = eLIM_PEER_ENTITY_DEAUTH; + sta_ds->sta_deletion_in_progress = true; /* / Issue Deauth Indication to SME. */ qdf_mem_copy((uint8_t *) &mlmDeauthInd.peerMacAddr, diff --git a/core/mac/src/pe/lim/lim_process_disassoc_frame.c b/core/mac/src/pe/lim/lim_process_disassoc_frame.c index e36ecc939f..4742b88b36 100644 --- a/core/mac/src/pe/lim/lim_process_disassoc_frame.c +++ b/core/mac/src/pe/lim/lim_process_disassoc_frame.c @@ -290,16 +290,18 @@ lim_process_disassoc_frame(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo, } if ((pStaDs->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_STA_RSP_STATE) || - (pStaDs->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_BSS_RSP_STATE)) { + (pStaDs->mlmStaContext.mlmState == eLIM_MLM_WT_DEL_BSS_RSP_STATE) || + pStaDs->sta_deletion_in_progress) { /** * Already in the process of deleting context for the peer * and received Disassociation frame. Log and Ignore. */ - pe_err("received Disassoc frame in state: %d from" - MAC_ADDRESS_STR, pStaDs->mlmStaContext.mlmState, - MAC_ADDR_ARRAY(pHdr->sa)); + pe_debug("Deletion is in progress (%d) for peer:%pM in mlmState %d", + pStaDs->sta_deletion_in_progress, pHdr->sa, + pStaDs->mlmStaContext.mlmState); return; } + pStaDs->sta_deletion_in_progress = true; lim_disassoc_tdls_peers(pMac, psessionEntry, pHdr->sa); if (pStaDs->mlmStaContext.mlmState != eLIM_MLM_LINK_ESTABLISHED_STATE) { /** |