summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Gao <wugao@qti.qualcomm.com>2016-11-09 17:19:15 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-11-18 16:44:23 -0800
commit3b90c798d7fdc0d2278d0fab41b2436fa4cdcf6e (patch)
tree61675222e2c4fd03a320e98932a0301cf897d057
parentcaacbad1b10041856620c07812235e02a6e7bc98 (diff)
qcacld-3.0: Cleanup DFS CAC timer
propagation from qcacld-2.0 to qcacld-3.0 Start SAP with DFS channel on default interface and create new AP interface without any operation, then terminate SAP and rmmod WLAN driver, DUT crash since it doesn't clean up sap_dfs_cac_timer. The solution is return cocurrent session only when state machine isn't disconnected in sap context. Change-Id: Iffc1d9239c303c25067da2e2d30e37648a44e599 CRs-Fixed: 1051755
-rw-r--r--core/sap/src/sap_fsm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c
index ee4e4b384461..f9f730b1a867 100644
--- a/core/sap/src/sap_fsm.c
+++ b/core/sap/src/sap_fsm.c
@@ -3150,13 +3150,16 @@ static ptSapContext sap_find_valid_concurrent_session(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
uint8_t intf = 0;
+ ptSapContext sapContext;
for (intf = 0; intf < SAP_MAX_NUM_SESSION; intf++) {
if (((QDF_SAP_MODE == pMac->sap.sapCtxList[intf].sapPersona)
||
(QDF_P2P_GO_MODE == pMac->sap.sapCtxList[intf].sapPersona)) &&
pMac->sap.sapCtxList[intf].pSapContext != NULL) {
- return pMac->sap.sapCtxList[intf].pSapContext;
+ sapContext = pMac->sap.sapCtxList[intf].pSapContext;
+ if (sapContext->sapsMachine != eSAP_DISCONNECTED)
+ return sapContext;
}
}