diff options
| author | Prashanth Bhatta <bhattap@qca.qualcomm.com> | 2015-08-15 19:03:55 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-08-18 03:03:11 -0700 |
| commit | aa2cba1343f07fa0ea6efa56eee0e889a442d1d5 (patch) | |
| tree | cd4047422662e3eaad3f256bb0f52e63c87437a3 | |
| parent | 94a96e46efbf4d8dc9343ddc4a6f1d47e0ed4d9c (diff) | |
qcacld: voss: Tie wake_lock with runtime PM
Prevent runtime suspend when wake_locks are held so that there is
no bus suspend.
Change-Id: I846930213cfd28e8fbe172f4871a9cd0f99bc835
CRs-fixed: 891862
| -rw-r--r-- | CORE/VOSS/src/vos_lock.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/CORE/VOSS/src/vos_lock.c b/CORE/VOSS/src/vos_lock.c index 5b05f1e0629f..3d86a5546187 100644 --- a/CORE/VOSS/src/vos_lock.c +++ b/CORE/VOSS/src/vos_lock.c @@ -550,6 +550,9 @@ VOS_STATUS vos_wake_lock_acquire(vos_wake_lock_t *pLock, vos_log_wlock_diag(reason, vos_wake_lock_name(pLock), WIFI_POWER_EVENT_DEFAULT_WAKELOCK_TIMEOUT, WIFI_POWER_EVENT_WAKELOCK_TAKEN); + + if (reason != WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT) + vos_runtime_pm_prevent_suspend(); #if defined CONFIG_CNSS cnss_pm_wake_lock(pLock); #elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) @@ -584,6 +587,7 @@ VOS_STATUS vos_wake_lock_timeout_acquire(vos_wake_lock_t *pLock, v_U32_t msec, WIFI_POWER_EVENT_WAKELOCK_TAKEN); } + vos_runtime_pm_prevent_suspend_timeout(msec); #if defined CONFIG_CNSS cnss_pm_wake_lock_timeout(pLock, msec); #elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) @@ -615,6 +619,8 @@ VOS_STATUS vos_wake_lock_release(vos_wake_lock_t *pLock, uint32_t reason) vos_runtime_pm_allow_suspend(); #endif #endif + if (reason != WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT) + vos_runtime_pm_allow_suspend(); return VOS_STATUS_SUCCESS; } |
