Created attachment 281343 [details]
dmesg from failed suspend attempt with 4.20.6 and wifi and LTE disabled
Starting with kernel 4.19 my Lenovo ThinkPad X1 Carbon 5th fails to suspend to RAM.
When closing the lid or executing "systemctl suspend" the screen goes black and the status led starts to blink rapidly (just like when power is plugged in).
The keyboard lights can still be toggled using Fn+space, so the firmware appears to be (partly) alive.
When I execute
> echo core > /sys/power/pm_test
> echo processors > /sys/power/pm_test
> echo mem > /sys/power/state
the system immediately goes blank and freezes just like when I really try to activate suspend.
If I try to execute
# chcpu -d 1,2,3
# echo 0 > /sys/devices/system/cpu/cpu1/online
the command blocks, while the system itself remains (mostly) usable.
Unfortunately, no message whatsoever is shown in the kernel logs. Also, reboot or poweroff no longer works and the system needs a hard reset. :(
I have bisected the kernel and found the culprit (or at least something, that appears to trigger the bad behavior):
[be45bf5395e0886a93fc816bbe41a008ec2e42e2] watchdog/softlockup: Fix cpu_stop_queue_work() double-queue bug
be45bf5395e0886a93fc816bbe41a008ec2e42e2 is the first bad commit
Author: Peter Zijlstra <email@example.com>
Date: Fri Jul 13 12:42:08 2018 +0200
watchdog/softlockup: Fix cpu_stop_queue_work() double-queue bug
When scheduling is delayed for longer than the softlockup interrupt
period it is possible to double-queue the cpu_stop_work, causing list
Cure this by adding a completion to track the cpu_stop_work's
Reported-by: kernel test robot <firstname.lastname@example.org>
Tested-by: Rong Chen <email@example.com>
Signed-off-by: Peter Zijlstra (Intel) <firstname.lastname@example.org>
Cc: Linus Torvalds <email@example.com>
Cc: Peter Zijlstra <firstname.lastname@example.org>
Cc: Thomas Gleixner <email@example.com>
Fixes: 9cf57731b63e ("watchdog/softlockup: Replace "watchdog/%u" threads with cpu_stop_work")
Signed-off-by: Ingo Molnar <firstname.lastname@example.org>
:040000 040000 6aca2dbb84bc33fe442b18b3d0a135c27adff7b9 2710af12d32e4b98df07768716689b213bce45fc M kernel
*** Bug 202137 has been marked as a duplicate of this bug. ***
Good news: starting with 5.0.6 suspend is working again.