]> git.baikalelectronics.ru Git - kernel.git/commitdiff
PM: hibernate: Allow hybrid sleep to work with s2idle
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 13 Oct 2022 03:50:17 +0000 (22:50 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 14:56:55 +0000 (23:56 +0900)
[ Upstream commit 176b6a133e34968aada61ca18e2a086f997553c9 ]

Hybrid sleep is currently hardcoded to only operate with S3 even
on systems that might not support it.

Instead of assuming this mode is what the user wants to use, for
hybrid sleep follow the setting of `mem_sleep_current` which
will respect mem_sleep_default kernel command line and policy
decisions made by the presence of the FADT low power idle bit.

Fixes: b0bd9ee1c371 ("PM / hibernate: Untangle power_down()")
Reported-and-tested-by: kolAflash <kolAflash@kolahilft.de>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216574
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/power/hibernate.c

index 406b4cbbec5e76818144e0268e70fd1b0741767b..f8934f9746e668250fe8feaa81a603b29e885e81 100644 (file)
@@ -625,7 +625,7 @@ static void power_down(void)
        int error;
 
        if (hibernation_mode == HIBERNATION_SUSPEND) {
-               error = suspend_devices_and_enter(PM_SUSPEND_MEM);
+               error = suspend_devices_and_enter(mem_sleep_current);
                if (error) {
                        hibernation_mode = hibernation_ops ?
                                                HIBERNATION_PLATFORM :