PM: hibernate: Allow hybrid sleep to work with s2idle

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: 81d45bdf89 ("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>
This commit is contained in:
Mario Limonciello 2022-10-12 22:50:17 -05:00 committed by Rafael J. Wysocki
parent 247f34f7b8
commit 85850af4fc

View File

@ -645,7 +645,7 @@ static void power_down(void)
int error; int error;
if (hibernation_mode == HIBERNATION_SUSPEND) { if (hibernation_mode == HIBERNATION_SUSPEND) {
error = suspend_devices_and_enter(PM_SUSPEND_MEM); error = suspend_devices_and_enter(mem_sleep_current);
if (error) { if (error) {
hibernation_mode = hibernation_ops ? hibernation_mode = hibernation_ops ?
HIBERNATION_PLATFORM : HIBERNATION_PLATFORM :