This is going to become a never-ending story…
After updating to kernel 6.16.1-arch1-1 lately, suspend fails again!
Reason:
- Apparently they’re doing the XHC (xhci_hcd) ACPI wakeup right now (i.e. wakeup is disabled per default):
$ cat /proc/acpi/wakeup Device S-state Status Sysfs node XHC S3 *disabled pci:0000:00:14.0 - But writing “XHC” to
/proc/acpi/wakeupis a toggle, so… - …my
/etc/tmpfiles.d/disable-usb-wake.confenables wakeup again:$ cat /etc/tmpfiles.d/disable-usb-wake.conf.sav # /etc/tmpfiles.d/disable-usb-wake.conf # Disable PCI 14.0 XHC USB wakeup (prevents suspending) # Path Mode UID GID Age Argument w /proc/acpi/wakeup - - - - XHC - …which promptly leads to a suspend failure:
Aug 20 05:45:50 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: pci_pm_suspend(): hcd_pci_suspend returns -16 Aug 20 05:45:50 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_suspend returns -16 Aug 20 05:45:50 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: failed to suspend async: error -16 Aug 20 05:45:50 t14-mch kernel: PM: Some devices failed to suspend, or early wake event detected
Arrrrgggh!
Solution:
- Remove
/etc/tmpfiles.d/disable-usb-wake.confagain (or rename to.conf.bak, just in case).
Suspend working again… (until the next upgrade…?)
On the positive side: Suspend should work on more systems “out-of-the-box”, which is a good thing for the average Joe & Jane.
@MyNameIsRichard: You might now also have to revert your unit, since it effectively does the same thing…
Note: Changed thread title to be more meaningful.