summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarthick S <skarthic@qti.qualcomm.com>2015-04-06 11:53:46 +0530
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2015-04-08 16:04:18 +0530
commit634f9b0a64b5c0a37df340a8564995baf7d7b98b (patch)
tree7261475ddcce5c078df0b90a3db2ed147467455a
parent913a67cb8cdeda76093a6bfcdeb08a005ba1fad6 (diff)
qcacld-2.0: Free protection_fields_reset_timer
Free protection_fields_reset_timer in the beginning of peDeleteSession function to avoid the null defreference caused due to the race condition between peDeleteSession and pe_reset_protection_callback. Change-Id: I1b83977bb3683d6dd87ec94a992ac51f39cd97db CRs-Fixed: 815796
-rw-r--r--CORE/MAC/src/pe/lim/limSession.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/CORE/MAC/src/pe/lim/limSession.c b/CORE/MAC/src/pe/lim/limSession.c
index 25a3b171b8da..59d4b3e72a9d 100644
--- a/CORE/MAC/src/pe/lim/limSession.c
+++ b/CORE/MAC/src/pe/lim/limSession.c
@@ -587,6 +587,11 @@ void peDeleteSession(tpAniSirGlobal pMac, tpPESession psessionEntry)
}
}
+ if (LIM_IS_AP_ROLE(psessionEntry)) {
+ vos_timer_stop(&psessionEntry->protection_fields_reset_timer);
+ vos_timer_destroy(&psessionEntry->protection_fields_reset_timer);
+ }
+
#if defined (WLAN_FEATURE_VOWIFI_11R)
/* Delete FT related information */
limFTCleanup(pMac, psessionEntry);
@@ -756,11 +761,6 @@ void peDeleteSession(tpAniSirGlobal pMac, tpPESession psessionEntry)
}
#endif
- if (LIM_IS_AP_ROLE(psessionEntry)) {
- vos_timer_stop(&psessionEntry->protection_fields_reset_timer);
- vos_timer_destroy(&psessionEntry->protection_fields_reset_timer);
- }
-
psessionEntry->valid = FALSE;
return;
}