]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-exynos/pm.c
Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[~andy/linux] / arch / arm / mach-exynos / pm.c
index f459afda822a4d14a7a1caf24bfebf97ee39dd7c..e3faaa812016848ae81e7bef29c4aa556a1565a8 100644 (file)
@@ -92,8 +92,8 @@ static int exynos_cpu_suspend(unsigned long arg)
        /* issue the standby signal into the pm unit. */
        cpu_do_idle();
 
-       /* we should never get past here */
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 static void exynos_pm_prepare(void)
@@ -283,6 +283,8 @@ static void exynos_pm_resume(void)
        if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) {
                tmp |= S5P_CENTRAL_LOWPWR_CFG;
                __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
+               /* clear the wakeup state register */
+               __raw_writel(0x0, S5P_WAKEUP_STAT);
                /* No need to perform below restore code */
                goto early_wakeup;
        }