From 019a94d233f77ae3d271d1e9442cb3a72d0e0552 Mon Sep 17 00:00:00 2001 From: Tushar Nimkar Date: Thu, 24 Dec 2020 10:08:01 +0530 Subject: [PATCH] drivers: lpm-levels: Return correct value while suspend Currently lpm_suspend_enter and lpm_cpuidle_s2idle return success always. This misleads on succcess and failure counts. This change adds support to return correct value to caller. Change-Id: I57dd0a4385f16f0e0aa1c92d602c0816ed358e2c Signed-off-by: Tushar Nimkar --- drivers/cpuidle/lpm-levels.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/cpuidle/lpm-levels.c b/drivers/cpuidle/lpm-levels.c index f4028b2b62d8..f2316faadf74 100644 --- a/drivers/cpuidle/lpm-levels.c +++ b/drivers/cpuidle/lpm-levels.c @@ -1532,7 +1532,7 @@ static int lpm_cpuidle_s2idle(struct cpuidle_device *dev, cluster_unprepare(cpu->parent, cpumask, idx, false, 0, success); cpu_unprepare(cpu, idx, true); - return 0; + return ret; } #ifdef CONFIG_CPU_IDLE_MULTIPLE_DRIVERS @@ -1744,7 +1744,7 @@ static int lpm_suspend_enter(suspend_state_t state) } if (idx < 0) { pr_err("Failed suspend\n"); - return 0; + return -EINVAL; } cpu_prepare(lpm_cpu, idx, false); cluster_prepare(cluster, cpumask, idx, false, 0); @@ -1755,7 +1755,7 @@ static int lpm_suspend_enter(suspend_state_t state) cluster_unprepare(cluster, cpumask, idx, false, 0, success); cpu_unprepare(lpm_cpu, idx, false); - return 0; + return ret; } static const struct platform_suspend_ops lpm_suspend_ops = {