Преглед изворни кода

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
Wu Gao пре 8 година
родитељ
комит
d35bcb8db6
1 измењених фајлова са 4 додато и 1 уклоњено
  1. 4 1
      core/sap/src/sap_fsm.c

+ 4 - 1
core/sap/src/sap_fsm.c

@@ -3159,13 +3159,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;
 		}
 	}