diff options
| -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 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 2 |
3 files changed, 13 insertions, 9 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 1dac3953a249..b125c0626a12 100644 --- a/core/mac/src/pe/lim/lim_process_deauth_frame.c +++ b/core/mac/src/pe/lim/lim_process_deauth_frame.c @@ -501,18 +501,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 2819fa18bdda..b24916fd99a0 100644 --- a/core/mac/src/pe/lim/lim_process_disassoc_frame.c +++ b/core/mac/src/pe/lim/lim_process_disassoc_frame.c @@ -281,16 +281,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) { /** diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 6f5b9045510b..ade067c577f6 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -11434,7 +11434,7 @@ bool csr_roam_issue_wm_status_change(tpAniSirGlobal pMac, uint32_t sessionId, DeauthIndMsg)); } if (QDF_IS_STATUS_SUCCESS - (csr_queue_sme_command(pMac, pCommand, true))) { + (csr_queue_sme_command(pMac, pCommand, false))) { fCommandQueued = true; } else { sme_err(" fail to send message "); |
