summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Kondabattini <ganeshk@codeaurora.org>2017-03-14 20:02:34 +0530
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-15 02:52:08 -0700
commitc9e8bac0537bebf097fb0e41e9aaec1856bea570 (patch)
treed848df639270206567b76e41b8bba54c65cffe9a
parent916b46146ffecb45b12e429c45b3ab00c9084d89 (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.c44
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 */