Selaa lähdekoodia

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 vuotta sitten
vanhempi
sitoutus
d35bcb8db6
1 muutettua tiedostoa jossa 4 lisäystä ja 1 poistoa
  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;
 		}
 	}