Re: [PATCH] PM: hibernate: Allow hybrid sleep to work with s2idle

From: Rafael J. Wysocki
Date: Tue Oct 25 2022 - 09:00:14 EST


On Tue, Oct 25, 2022 at 2:12 AM Limonciello, Mario
<mario.limonciello@xxxxxxx> wrote:
>
> On 10/12/2022 22:50, Mario Limonciello wrote:
> > 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.
> >
> > Reported-and-tested-by: kolAflash <kolAflash@xxxxxxxxxxxx>
> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=216574
> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> > ---
> > kernel/power/hibernate.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Hi Rafael,
>
> This got sent near the merge window a few weeks ago. It's a trivial fix
> so I just want to make sure it didn't get misplaced.

It wasn't lost.

I've just applied it for -rc3 (and added a Fixes: tag that was missing to it).

Thanks!

> >
> > diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> > index 89c71fce225dd..537dd3beafc16 100644
> > --- a/kernel/power/hibernate.c
> > +++ b/kernel/power/hibernate.c
> > @@ -641,7 +641,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 :
>