summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKomal Seelam <kseelam@qti.qualcomm.com>2015-09-02 20:12:29 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-09-03 12:53:48 +0530
commit29ce6313b5a98709671d601b3e19295d334cd09b (patch)
tree84e1832b00e2e0ed90f0e048e0e13abb0d931631
parent36d81e78b3784a5239ea38af0541b0948ec5ff10 (diff)
qcacld-2.0: Post Runtime Resume Indication when Runtime Suspend Timeout
MC thread is busy/sleep due to CPU usage so WDA_RUNTIME_PM_SUSPEND_IND is timed out. Later this WDA_RUNTIME_PM_SUSPEND_IND is proceed but kernel runtime PM suspend comes again and we post another WDA_RUNTIME_PM_SUSPEND_IND which causes host/FW out of sync. Fix by posting WDA_RUNTIME_PM_RESUME_IND to keep sync with FW. Change-Id: I392423880409634be36626ccb9ab4449658a0c7c CRs-Fixed: 900384
-rw-r--r--CORE/SERVICES/WMA/wma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index f1cbffe7e6ea..9ace833b8298 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -31717,6 +31717,7 @@ int wma_runtime_suspend_req(WMA_HANDLE handle)
VOS_STATUS_SUCCESS) {
WMA_LOGE("Failed to get runtime suspend event");
ret = -EAGAIN;
+ wma_runtime_resume_req(wma);
goto out;
}
@@ -31742,8 +31743,10 @@ int wma_runtime_resume_req(WMA_HANDLE handle)
vosMessage.type = WDA_RUNTIME_PM_RESUME_IND;
vosStatus = vos_mq_post_message(VOS_MQ_ID_WDA, &vosMessage );
- if (!VOS_IS_STATUS_SUCCESS(vosStatus))
+ if (!VOS_IS_STATUS_SUCCESS(vosStatus)) {
+ WMA_LOGE("Failed to post Runtime PM Resume IND to VOS");
ret = -EAGAIN;
+ }
return ret;
}