msm: pm-8x60: fix timeout bug issue in suspend processing
if msm_rpm_request is not NULL, it is not expected to enter the
power collapse of CPU0. msm_rpm_local_request_is_outstanding is
check if msm_rpm_request is NULL or not. this check routine is
added to msm_pm_idle_prepare for fix timeout issue in suspend
processing.
Change-Id: I02cb344e451a0893f4c8dce88d0a564d55839f01
diff --git a/arch/arm/mach-msm/pm-8x60.c b/arch/arm/mach-msm/pm-8x60.c
index e203667..769d740 100644
--- a/arch/arm/mach-msm/pm-8x60.c
+++ b/arch/arm/mach-msm/pm-8x60.c
@@ -42,6 +42,7 @@
#include <mach/cpuidle.h>
#include "idle.h"
#include "pm.h"
+#include "rpm_resources.h"
#include "scm-boot.h"
#include "spm.h"
#include "timer.h"
@@ -671,6 +672,11 @@
case MSM_PM_SLEEP_MODE_POWER_COLLAPSE_STANDALONE:
if (!allow)
break;
+
+ if (!dev->cpu && msm_rpm_local_request_is_outstanding()) {
+ allow = false;
+ break;
+ }
/* fall through */
case MSM_PM_SLEEP_MODE_RETENTION: