diff options
| author | Ganesh Kondabattini <ganeshk@codeaurora.org> | 2017-03-14 20:02:34 +0530 |
|---|---|---|
| committer | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-03-15 02:52:08 -0700 |
| commit | c9e8bac0537bebf097fb0e41e9aaec1856bea570 (patch) | |
| tree | d848df639270206567b76e41b8bba54c65cffe9a | |
| parent | 916b46146ffecb45b12e429c45b3ab00c9084d89 (diff) | |
qcacld-3.0: Don't change the limSmeState for tdls peer
For TDLS peer delete, mlme changes the limSmeState of STA session
to eLIM_MLM_WT_DEL_STA_RSP_STATE.
This leads to not sending vdev down to FW for STA interface as
psessionEntry->limMlmState is not in eLIM_MLM_LINK_ESTABLISHED_STATE.
CRs-Fixed: 2019041
Change-Id: I0707eabc8f4cf2571996d8ef2d6d621e01bcbb39
| -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 */ |
