summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Chang <schang@qca.qualcomm.com>2013-12-05 15:37:52 -0800
committerPrakash Dhavali <pdhavali@qca.qualcomm.com>2013-12-08 02:47:06 -0800
commit5879fa6f15b8ec6263cd14f1ebf2527658e4a95b (patch)
tree79b141b04830392c98152eba7db31efbf6d3e31c
parent35613acfb0485d0ecd6fa98fb29fe192bf1b4f80 (diff)
wlan: host driver timer leak fix
During WLAN driver start, TM functionality is enabled. Then TM timer also initialized. But close WLAN driver, TM functionality is not closed properly. Then timer leak happen. Close TM function properly. Change-Id: I63817bc3f725f2c193ef332e60395fdea8f74aa7 CRs-fixed: 585787
-rw-r--r--CORE/HDD/src/wlan_hdd_dev_pwr.c2
-rw-r--r--CORE/HDD/src/wlan_hdd_early_suspend.c3
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c5
3 files changed, 3 insertions, 7 deletions
diff --git a/CORE/HDD/src/wlan_hdd_dev_pwr.c b/CORE/HDD/src/wlan_hdd_dev_pwr.c
index 6483228c3f21..0e159af3e849 100644
--- a/CORE/HDD/src/wlan_hdd_dev_pwr.c
+++ b/CORE/HDD/src/wlan_hdd_dev_pwr.c
@@ -562,7 +562,6 @@ VOS_STATUS hddDevTmRegisterNotifyCallback(hdd_context_t *pHddCtx)
return VOS_STATUS_SUCCESS;
}
-#ifdef QCA_WIFI_ISOC
/*----------------------------------------------------------------------------
@brief Un-Register function
@@ -603,4 +602,3 @@ VOS_STATUS hddDevTmUnregisterNotifyCallback(hdd_context_t *pHddCtx)
return VOS_STATUS_SUCCESS;
}
-#endif /* #ifdef QCA_WIFI_ISOC */
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index e7d028bbbc7f..3796f8fce2fa 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -1525,13 +1525,12 @@ VOS_STATUS hdd_wlan_shutdown(void)
{
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: hddDeregisterPmOps failed",__func__);
}
-
+#endif
vosStatus = hddDevTmUnregisterNotifyCallback(pHddCtx);
if ( !VOS_IS_STATUS_SUCCESS( vosStatus ) )
{
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: hddDevTmUnregisterNotifyCallback failed",__func__);
}
-#endif
/* Disable IMPS/BMPS as we do not want the device to enter any power
* save mode on its own during reset sequence
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index d66069067629..d27e4c056a24 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -5045,13 +5045,12 @@ void hdd_wlan_exit(hdd_context_t *pHddCtx)
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: hddDeregisterPmOps failed",__func__);
VOS_ASSERT(0);
}
-
+#endif
vosStatus = hddDevTmUnregisterNotifyCallback(pHddCtx);
if ( !VOS_IS_STATUS_SUCCESS( vosStatus ) )
{
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: hddDevTmUnregisterNotifyCallback failed",__func__);
}
-#endif
// Cancel any outstanding scan requests. We are about to close all
// of our adapters, but an adapter structure is what SME passes back
@@ -6173,8 +6172,8 @@ err_free_power_on_lock:
free_riva_power_on_lock("wlan");
err_unregister_pmops:
-#ifdef QCA_WIFI_ISOC
hddDevTmUnregisterNotifyCallback(pHddCtx);
+#ifdef QCA_WIFI_ISOC
hddDeregisterPmOps(pHddCtx);
#endif