https://bugzilla.kernel.org/show_bug.cgi?id=221451
Bug ID: 221451
Summary: Lenovo Yoga 7 (AMD) intermittently fails to resume
from s2idle suspend under GNOME
Product: ACPI
Version: 2.5
Hardware: AMD
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: Power-Sleep-Wake
Assignee: [email protected]
Reporter: [email protected]
Regression: No
SUMMARY
Lenovo Yoga 7 (AMD) fails to resume from s2idle suspend ~75% of the time under
GNOME, causing hardware reset.
ENVIRONMENT
6.19.14-200.fc43.x86_64
NAME="Fedora Linux"
VERSION="43 (Workstation Edition)"
RELEASE_TYPE=stable
GNOME Shell 49.6
DESCRIPTION
I had an issue where maybe 75% of the time, my system was failing to resume
from a the s2idle suspend state, indiscriminate of how I entered or exited it,
e.g. closing the lid, running systemctl suspend, etc.
The system would attempt to wake for a couple seconds before failing and
rebooting altogether.
This issue was only present on the following configurations during testing:
Pop!_OS with CosmicDE -> fine
EndeavourOS with GNOME -> broken
Arch with Hyprland -> fine
Fedora with CosmicDE -> fine
Fedora with Xfce -> fine
Fedora with GNOME -> broken
I was struggling to find any meaningful details from journalctl, since on a
failed wakeup, the last logged entry was always something like
Apr 28 21:12:00 nox systemd-sleep[9158]: Performing sleep operation
'suspend'...
Apr 28 21:12:00 nox kernel: PM: suspend entry (s2idle)
EVIDENCE
After a ton of digging, I found that the issue was actually related to what I
believe is a race condition between GNOME gsd-power and the _Q92 EC event.
sudo journalctl -b -1 -k | grep -iE "acpi"
Apr 29 14:56:18 nox kernel: ACPI Error: Thread 504246464 cannot release Mutex
[ECMT] acquired by thread 226623488 (20250807/exmutex-378)
Apr 29 14:56:18 nox kernel: ACPI Error: Aborting method _SB.PCI0.LPC0.EC0.ECCC
due to previous error (AE_AML_NOT_OWNER) (20250807/psparse-529)
Apr 29 14:56:18 nox kernel: ACPI Error: Aborting method _SB.PCI0.LPC0.EC0.RPAM
due to previous error (AE_AML_NOT_OWNER) (20250807/psparse-529)
Apr 29 14:56:18 nox kernel: ACPI Error: Aborting method _SB.PCI0.LPC0.EC0._Q92
due to previous error (AE_AML_NOT_OWNER) (20250807/psparse-529)
As I understand, the _Q92 EC event on Lenovo IdeaPads is a lid sensor
notification. When the system tries to wake up, gsd-power acquires the EC lock
to run some hardware queries to obtain diagnostics on the systems state, e.g.
battery state, brightness levels, etc.
During this time, the _Q92 event fires, fails to acquire the lock that's being
held by gsd-power, and panics.
This is why the issue is intermittent. If gsd-power finishes it's queries
before the _Q92 EC event fires, the lock is released, and ~25% of the time the
system reboots without issue.
WORKAROUND
I was able to fix this by silencing EC events during wakeup:
sudo grubby --update-kernel=ALL --args="acpi_ec_no_wakeup=1"
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla