diff options
| -rw-r--r-- | core/mac/src/pe/lim/lim_assoc_utils.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index eeed5485a500..26c33c4a993c 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -2585,29 +2585,35 @@ lim_del_sta(tpAniSirGlobal pMac, if (!fRespReqd) pDelStaParams->respReqd = 0; else { - /* when lim_del_sta is called from processSmeAssocCnf then mlmState is already set properly. */ - if (eLIM_MLM_WT_ASSOC_DEL_STA_RSP_STATE != - GET_LIM_STA_CONTEXT_MLM_STATE(pStaDs)) { - MTRACE(mac_trace - (pMac, TRACE_CODE_MLM_STATE, - psessionEntry->peSessionId, - eLIM_MLM_WT_DEL_STA_RSP_STATE)); - SET_LIM_STA_CONTEXT_MLM_STATE(pStaDs, - eLIM_MLM_WT_DEL_STA_RSP_STATE); - } - if (LIM_IS_STA_ROLE(psessionEntry)) { - MTRACE(mac_trace - (pMac, TRACE_CODE_MLM_STATE, - psessionEntry->peSessionId, - eLIM_MLM_WT_DEL_STA_RSP_STATE)); + if (pStaDs->staType != STA_ENTRY_TDLS_PEER) { + /* when lim_del_sta is called from processSmeAssocCnf + * then mlmState is already set properly. */ + if (eLIM_MLM_WT_ASSOC_DEL_STA_RSP_STATE != + GET_LIM_STA_CONTEXT_MLM_STATE(pStaDs)) { + MTRACE(mac_trace + (pMac, TRACE_CODE_MLM_STATE, + psessionEntry->peSessionId, + eLIM_MLM_WT_DEL_STA_RSP_STATE)); + SET_LIM_STA_CONTEXT_MLM_STATE(pStaDs, + eLIM_MLM_WT_DEL_STA_RSP_STATE); + } + if (LIM_IS_STA_ROLE(psessionEntry)) { + MTRACE(mac_trace + (pMac, TRACE_CODE_MLM_STATE, + psessionEntry->peSessionId, + eLIM_MLM_WT_DEL_STA_RSP_STATE)); - psessionEntry->limMlmState = - eLIM_MLM_WT_DEL_STA_RSP_STATE; + psessionEntry->limMlmState = + eLIM_MLM_WT_DEL_STA_RSP_STATE; + } } - pDelStaParams->respReqd = 1; - /* we need to defer the message until we get the response back from HAL. */ + + /* we need to defer the message until we get the + * response back from HAL. */ SET_LIM_PROCESS_DEFD_MESGS(pMac, false); + + pDelStaParams->respReqd = 1; } /* Update PE session ID */ |
