Messages in this thread Patch in this message | | | From | Chris Chiu <> | Date | Tue, 5 May 2020 01:09:30 +0800 | Subject | System fails to exit s2idle by a keystroke on my laptop |
| |
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.
@@ -1024,7 +1024,7 @@ static bool acpi_s2idle_wake(void) * regarded as a spurious one. */ if (!acpi_ec_dispatch_gpe()) - return false; + return true;
/* * Cancel the wakeup and process all pending events in case Maybe there's something special on my laptop so a keystroke is considered as a spurious event on this machine? Don't know if the DSDT helps or not. https://gist.github.com/mschiu77/de8af6da78be12cf442853e7747f76ed
Please let me know if there's anything I can help to address this problem. Thanks
Chris
| |