lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 6 May 2020 11:32:07 +0200
From:   "Rafael J. Wysocki" <>
To:     Chris Chiu <>
Cc:     "Rafael J. Wysocki" <>,, Len Brown <>,
        ACPI Devel Maling List <>,
        Linux Kernel <>,
        Linux Upstreaming Team <>
Subject: Re: System fails to exit s2idle by a keystroke on my laptop

On Mon, May 4, 2020 at 7:09 PM Chris Chiu <> wrote:
> Hi,
>     I have an Intel X5-Z8350 laptop which used to work fine on s2idle
> enter/exit with kernel 5.3. After upgrading to kernel 5.4 and later,
> the system can still exit s2idle by power button. However, if I try to
> wake it up from a keystroke, the system will freeze and then no longer
> respond even to the power button. I can only shut it down and power on
> again.
>     I tried to 'git bisect' to find out which commit causes the
> difference, it shows me the commit "ACPI: PM: s2idle: Prevent spurious
> SCIs from waking up the system". My laptop can work as usual to exit
> s2idle by a keystroke with reverting it on kernel 5.4.
>     Then I tried to check whether I can reproduce it on the latest
> mainline kernel, the same problem still there. But I can not fix it by
> simply reverting. I found the acpi_s2idle_wake() has been refined on
> the latest mainline kernel, and I have to make modifications as
> follows to make my laptop work.

Thanks for the report, the issue evidently is EC-related.

> @@ -1024,7 +1024,7 @@ static bool acpi_s2idle_wake(void)
>                  * regarded as a spurious one.
>                  */
>                 if (!acpi_ec_dispatch_gpe())
> -                       return false;
> +                       return true;

Have you tried commenting out simply removing the if () check and the
following return statement?

If not, can you please try this and see what happens?

>                 /*
>                  * Cancel the wakeup and process all pending events in case

Powered by blists - more mailing lists