Browse Source

qcacld-3.0: Move lim_del_pmf_sa_query_timer API to pe_delete_session

In some of the stress and stability testing, it has been found that
lim_del_pmf_sa_query_timer() is not getting called which results in
to memory leak.

Move lim_del_pmf_sa_query_timer() API to pe_delete_session() to make
sure that pmf timer gets deleted in all the cases.

CRs-Fixed: 2133344
Change-Id: Iefed50ad0c473deb8c3803d0bd6b2997624f2f82
Krunal Soni 7 years ago
parent
commit
6de1b2173a
2 changed files with 2 additions and 4 deletions
  1. 1 4
      core/mac/src/pe/lim/lim_api.c
  2. 1 0
      core/mac/src/pe/lim/lim_session.c

+ 1 - 4
core/mac/src/pe/lim/lim_api.c

@@ -866,11 +866,8 @@ tSirRetStatus pe_close(tpAniSirGlobal pMac)
 
 	qdf_spinlock_destroy(&pMac->sys.bbt_mgmt_lock);
 	for (i = 0; i < pMac->lim.maxBssId; i++) {
-		if (pMac->lim.gpSession[i].valid == true) {
-			lim_del_pmf_sa_query_timer(pMac,
-						   &pMac->lim.gpSession[i]);
+		if (pMac->lim.gpSession[i].valid == true)
 			pe_delete_session(pMac, &pMac->lim.gpSession[i]);
-		}
 	}
 	qdf_mem_free(pMac->lim.limTimers.gpLimCnfWaitTimer);
 	pMac->lim.limTimers.gpLimCnfWaitTimer = NULL;

+ 1 - 0
core/mac/src/pe/lim/lim_session.c

@@ -706,6 +706,7 @@ void pe_delete_session(tpAniSirGlobal mac_ctx, tpPESession session)
 	if (LIM_IS_AP_ROLE(session)) {
 		qdf_mc_timer_stop(&session->protection_fields_reset_timer);
 		qdf_mc_timer_destroy(&session->protection_fields_reset_timer);
+		lim_del_pmf_sa_query_timer(mac_ctx, session);
 	}
 
 	/* Delete FT related information */