summaryrefslogtreecommitdiff
path: root/kernel/power/suspend.c
diff options
context:
space:
mode:
authorMaulik Shah <quic_mkshah@quicinc.com>2024-02-29 12:14:59 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-03 15:28:22 +0200
commit35c1cdd504a3957da80670606ec109fb1576f1bd (patch)
tree3a7b079909adc1cb828c9e0759d292c1b1abb42b /kernel/power/suspend.c
parented87a423756a206fb8a5fa0b2c12d1060fa3b2ff (diff)
downloadlinux-35c1cdd504a3957da80670606ec109fb1576f1bd.tar.gz
linux-35c1cdd504a3957da80670606ec109fb1576f1bd.tar.bz2
linux-35c1cdd504a3957da80670606ec109fb1576f1bd.zip
PM: suspend: Set mem_sleep_current during kernel command line setup
[ Upstream commit 9bc4ffd32ef8943f5c5a42c9637cfd04771d021b ] psci_init_system_suspend() invokes suspend_set_ops() very early during bootup even before kernel command line for mem_sleep_default is setup. This leads to kernel command line mem_sleep_default=s2idle not working as mem_sleep_current gets changed to deep via suspend_set_ops() and never changes back to s2idle. Set mem_sleep_current along with mem_sleep_default during kernel command line setup as default suspend mode. Fixes: faf7ec4a92c0 ("drivers: firmware: psci: add system suspend support") CC: stable@vger.kernel.org # 5.4+ Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel/power/suspend.c')
-rw-r--r--kernel/power/suspend.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index fa3bf161d13f..a718067deece 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -192,6 +192,7 @@ static int __init mem_sleep_default_setup(char *str)
if (mem_sleep_labels[state] &&
!strcmp(str, mem_sleep_labels[state])) {
mem_sleep_default = state;
+ mem_sleep_current = state;
break;
}