summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/mac/src/pe/lim/lim_process_deauth_frame.c10
-rw-r--r--core/mac/src/pe/lim/lim_process_disassoc_frame.c10
-rw-r--r--core/sme/src/csr/csr_api_roam.c2
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 ");