Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 040ffc47 authored by Hanumantha Reddy Pothula's avatar Hanumantha Reddy Pothula Committed by Akash Patel
Browse files

qcacld-3.0: Process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state

qcacld-2.0 to qcacld-3.0 propagation

If ADDTS response timer is fired because of not receiving ADDTS RSP
within time then this timer handler posts SIR_LIM_ADDTS_RSP_TIMEOUT
command to LIM. But if deferring is enabled(say due to processing any
action frame) then SIR_LIM_ADDTS_RSP_TIMEOUT command will be added to
defer queue and as gLimAddtsSent is set to TRUE, including this
command all other defer commands will never be processed. This may
lead to active command timeout.
Hence process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state.

Change-Id: I48f09a7fd560702ac7701e0a1a41c77ad94626d4
CRs-Fixed: 919490
parent 67e0fcac
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -288,6 +288,19 @@ uint8_t static def_msg_decision(tpAniSirGlobal pMac, tpSirMsgQ limMsg)
		    (limMsg->type != WMA_START_OEM_DATA_RSP) &&
#endif
		    (limMsg->type != WMA_ADD_TS_RSP) &&
		    /*
		     * LIM won't process any defer queue commands if gLimAddtsSent is
		     * set to TRUE. gLimAddtsSent will be set TRUE to while sending
		     * ADDTS REQ. Say, when deferring is enabled, if
		     * SIR_LIM_ADDTS_RSP_TIMEOUT is posted (because of not receiving ADDTS
		     * RSP) then this command will be added to defer queue and as
		     * gLimAddtsSent is set TRUE LIM will never process any commands from
		     * defer queue, including SIR_LIM_ADDTS_RSP_TIMEOUT. Hence allowing
		     * SIR_LIM_ADDTS_RSP_TIMEOUT command to be processed with deferring
		     * enabled, so that this will be processed immediately and sets
		     * gLimAddtsSent to FALSE.
		     */
		    (limMsg->type != SIR_LIM_ADDTS_RSP_TIMEOUT) &&
		    /* 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