diff options
| author | Hema Aparna Medicharla <haparna@qti.qualcomm.com> | 2015-07-21 11:07:45 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-08-18 03:03:14 -0700 |
| commit | cbc5bbe8afa55c493e30938c2d6fe1453caf989a (patch) | |
| tree | 1d9dc31b4684a9bd8a59eda1a2012bd1feb38570 | |
| parent | aa2cba1343f07fa0ea6efa56eee0e889a442d1d5 (diff) | |
qcacld-2.0: Donot defer Rx frames processing if ADD TS request sent
prima to qcacld-2.0 propagation
Current implementation defers all the received frames
when ADD TS request is sent out over the air. This,
in addition, to check for pMac->lim.gLimAddtsSent
incurs delay, till ADD TS response timeout, in processing
of the ADD TS response received if SET_LIM_PROCESS_DEFD_MESGS
is set to FALSE. As there is no rationale defer processing
of Rx frames while waiting for ADDTS response, changes are
made to not defer processing of RX frames for the same.
Change-Id: I1d1a41a0e3555ae19548a0cabf3b9569af775f72
CRs-Fixed: 839546
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessMessageQueue.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c index 0a9c3f4db405..829f4e1f8f68 100644 --- a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c +++ b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c @@ -138,8 +138,12 @@ defMsgDecision(tpAniSirGlobal pMac, tpSirMsgQ limMsg) #ifdef FEATURE_OEM_DATA_SUPPORT (limMsg->type != WDA_START_OEM_DATA_RSP) && #endif - (limMsg->type != WDA_ADD_TS_RSP)) - { + (limMsg->type != WDA_ADD_TS_RSP) && + /* Allow processing of RX frames while awaiting reception of + ADD TS response over the air. This logic particularly handles the + case when host sends ADD BA request to FW after ADD TS request + is sent over the air and ADD TS response received over the air */ + !(limMsg->type == SIR_BB_XPORT_MGMT_MSG && pMac->lim.gLimAddtsSent)) { PELOG1(limLog(pMac, LOG1, FL("Defer the current message type %d , gLimProcessDefdMsgs is false and system is not in scan/learn mode"), limMsg->type);) @@ -2206,7 +2210,8 @@ limProcessDeferredMessageQueue(tpAniSirGlobal pMac) limProcessMessages(pMac, &limMsg); if((limIsSystemInScanState(pMac)) || (true != GET_LIM_PROCESS_DEFD_MESGS(pMac)) || - (pMac->lim.gLimSystemInScanLearnMode)) + (pMac->lim.gLimSystemInScanLearnMode) || + pMac->lim.gLimAddtsSent) break; } } |
