I have a suspend/resume problem on a Lenovo Yoga 6 13ARE05 with an AMD Ryzen 4650U on Fedora 44 Workstation. My BIOS is updated. The laptop uses s2idle. I’m a newbie trying to fix this through a combination of searching online and asking LLMs, so forgive me if there’s anything weird about the troubleshooting done so far.
I tested suspending and leaving it anywhere from 5–30 seconds and waking with the keyboard. In all cases, the keyboard responds immediately (Caps Lock flashes as on Windows), but it takes about 10 seconds to actually wake.
I enabled PM debugging and captured this:
Timekeeping suspended for 44.000 seconds
PM: Triggering wakeup from IRQ 7
PM: resume from suspend-to-idle
...
nvme 0000:01:00.0: PM: calling pci_pm_resume_noirq
pci_pm_resume_noirq returned 0 after 10137015 usecs
Apparently this shows that 10.1 seconds are spent in pci_pm_resume_noirq() for the NVMe device?
The wake IRQ was:
$ cat /sys/power/pm_wakeup_irq
7
IRQ 7 is:
IR-IO-APIC 7-fasteoi pinctrl_amd
My SSD is:
WD/SanDisk PC SN530
Model: SDBPMPZ-512G-1101
PCI ID: 15b7:5008
Firmware: 21160001
Capacity: 512 GB
I tested the following but it didn’t help:
pm_async=0
PCIe ASPM disabled
NVMe APST disabled
NVMe runtime PM forced on
nvme noacpi=1
newer Fedora kernel
The only solution that worked was unbinding the NVMe device from nvme using this:
sudo sh -c 'echo 0000:01:00.0 > /sys/bus/pci/drivers/nvme/unbind'
I also removed the SN530 and installed an SSD taken from another laptop (not an SN530). That didn’t have the 10 second delay, but upon suspension the system immediately wakes. I also had this issue with the SN530 when I tried to use S3 sleep instead by using Fn+R+N and changing the suspend mode in BIOS. On a side note, already tried disabling all the wake sources shown using this command, but that didn’t solve the S3 sleep issue either.
cat /proc/acpi/wakeup
Any ideas whether this can be solved?