summaryrefslogtreecommitdiff
path: root/CORE
diff options
context:
space:
mode:
authorMukul Sharma <mukul@qti.qualcomm.com>2016-06-30 16:43:21 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-06-30 20:57:16 +0530
commitf2fa56123583dd9b772ce5b2f00426c7165cd77a (patch)
tree249fc657ed4205f614fc540101358e6054e40e87 /CORE
parentf0dd9902ddb6a3b3e55efadcbd2658e643fe9b39 (diff)
qcacld-2.0: Stop memory tracking after trace_buffer free
Due to commit Id574e1309db8d8b01b4765e27b3638bb92c3d5a0, Host stop memory tracking before trace-buffer get free. Later host try to free the trace_buffer but memory list is empty hence vos_bug raised in SLUB enabled build. As a part of fix, Free trace-buffer before vos_mem_exit and free trace_buffer in insmod failure case. Change-Id: I75ef52a7dc286d8bea012b1e2b8ccf57343a3575 CRs-Fixed: 1036271
Diffstat (limited to 'CORE')
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 53f5106dd59d..b55792f42bae 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -14999,7 +14999,9 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc)
}
#ifdef QCA_PKT_PROTO_TRACE
- vos_pkt_proto_trace_init();
+ /* Ensure pkt tracing happen only in Non FTM mode */
+ if (VOS_FTM_MODE != hdd_get_conparam())
+ vos_pkt_proto_trace_init();
#endif /* QCA_PKT_PROTO_TRACE */
ftm_processing:
@@ -15522,8 +15524,6 @@ err_unregister_pmops:
hdd_debugfs_exit(pHddCtx);
-
-
err_close_adapter:
#if defined(CONFIG_HDD_INIT_WITH_RTNL_LOCK)
if (rtnl_lock_enable == TRUE) {
@@ -15533,6 +15533,11 @@ err_close_adapter:
#endif
hdd_close_all_adapters( pHddCtx );
+#ifdef QCA_PKT_PROTO_TRACE
+ if (VOS_FTM_MODE != hdd_get_conparam())
+ vos_pkt_proto_trace_close();
+#endif /* QCA_PKT_PROTO_TRACE */
+
err_vosstop:
vos_stop(pVosContext);
@@ -15898,6 +15903,11 @@ static void hdd_driver_exit(void)
hif_unregister_driver();
vos_preClose( &pVosContext );
+#ifdef QCA_PKT_PROTO_TRACE
+ if (VOS_FTM_MODE != hdd_get_conparam())
+ vos_pkt_proto_trace_close();
+#endif /* QCA_PKT_PROTO_TRACE */
+
#ifdef TIMER_MANAGER
vos_timer_exit();
#endif
@@ -15909,11 +15919,6 @@ static void hdd_driver_exit(void)
wlan_logging_sock_deinit_svc();
#endif
-#ifdef QCA_PKT_PROTO_TRACE
- if (VOS_FTM_MODE != hdd_get_conparam())
- vos_pkt_proto_trace_close();
-#endif /* QCA_PKT_PROTO_TRACE */
-
done:
hdd_wlan_wakelock_destroy();
pr_info("%s: driver unloaded\n", WLAN_MODULE_NAME);