diff options
| author | Mukul Sharma <mukul@qti.qualcomm.com> | 2016-06-30 16:43:21 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-06-30 20:57:16 +0530 |
| commit | f2fa56123583dd9b772ce5b2f00426c7165cd77a (patch) | |
| tree | 249fc657ed4205f614fc540101358e6054e40e87 /CORE | |
| parent | f0dd9902ddb6a3b3e55efadcbd2658e643fe9b39 (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-x | CORE/HDD/src/wlan_hdd_main.c | 21 |
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); |
