wlan: Add support for host based wake lock events
This change adds new DIAG (EVENT_WLAN_WAKE_LOCK)
event within our existing DIAG framework. This
event will be generated whenever wake locks are
handled within the driver.
Change-Id: I7a602da9e0e8e77d0f14487ee09057e70e9048b4
CRs-Fixed: 832837
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index de15ff5..f068292 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -10372,13 +10372,13 @@
allow_suspend:
/* release the wake lock at the end of the scan*/
- hdd_allow_suspend();
+ hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_SCAN);
/* Acquire wakelock to handle the case where APP's tries to suspend
* immediatly after the driver gets connect request(i.e after scan)
* from supplicant, this result in app's is suspending and not able
* to process the connect request to AP */
- hdd_prevent_suspend_timeout(1000);
+ hdd_prevent_suspend_timeout(1000, WIFI_POWER_EVENT_WAKELOCK_SCAN);
#ifdef FEATURE_WLAN_TDLS
wlan_hdd_tdls_scan_done_callback(pAdapter);
@@ -10902,7 +10902,7 @@
* 2) Connected scenario: If we allow the suspend during the scan, RIVA will
* be stuck in full power because of resume BMPS
*/
- hdd_prevent_suspend();
+ hdd_prevent_suspend(WIFI_POWER_EVENT_WAKELOCK_SCAN);
hddLog(VOS_TRACE_LEVEL_INFO_HIGH,
"requestType %d, scanType %d, minChnTime %d, maxChnTime %d,"
@@ -10923,7 +10923,7 @@
if(status != VOS_STATUS_SUCCESS)
{
- hdd_allow_suspend();
+ hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_SCAN);
status = -EFAULT;
#ifdef FEATURE_WLAN_TDLS
wlan_hdd_tdls_scan_done_callback(pAdapter);
@@ -10949,7 +10949,7 @@
} else {
status = -EIO;
}
- hdd_allow_suspend();
+ hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_SCAN);
#ifdef FEATURE_WLAN_TDLS
wlan_hdd_tdls_scan_done_callback(pAdapter);
@@ -16282,7 +16282,8 @@
* results in app's is in suspended state and not able to
* process the connect request to AP
*/
- hdd_prevent_suspend_timeout(2000);
+ hdd_prevent_suspend_timeout(2000,
+ WIFI_POWER_EVENT_WAKELOCK_RESUME_WLAN);
cfg80211_sched_scan_results(pHddCtx->wiphy);
}