After updating to firmware version 3.25, I’ve found that sleep and hibernation aren’t working on Fedora Linux 44, with multiple kernel versions. The behaviour I’m seeing is when I put the laptop to sleep, after a few seconds of a blank screen, the lock screen comes back up. This happens when i explicitly suspend, or close my lid.
I went through several troubleshooting sessions with an LLM agent, all to no effect. Below is a bug report drafted with its assistance. Is there maybe something silly I’m missing in the bios settings that may have been reset after the firmware update?
Suspend and hibernate broken after BIOS 3.25 (11th Gen Intel) - xHCI root hub returns -16 on every sleep path
Summary
After updating to BIOS 3.25, my Framework Laptop 13 (11th Gen Intel)
can no longer suspend or hibernate. Every sleep attempt aborts
immediately and the system wakes back up (“resumed again: Device or
resource busy”). The kernel reports that the on-package USB 2.0 root
hub (usb usb3, the Tiger Lake xHCI controller at PCI 0000:00:14.0)
fails to enter its low-power state, returning error -16 (-EBUSY)
from the device suspend/freeze callback. The internal USB devices on
that hub are also in a continuous reset loop even while the machine is
fully awake.
System details
- Model: Framework Laptop 13, 11th Gen Intel Core
- Mainboard: FRANBMCP0B
- BIOS: 03.25 (2026-06-15)
- OS: Fedora Linux 44 (KDE Plasma), systemd
- Kernels tested: 7.2.4-200.fc44 and 7.1.13-200.fc44 – fails
identically on both (two different kernels were tried to rule out a
kernel regression) - xHCI controller: Intel 500 Series Chipset On-Package USB 3.2 Gen 2x1
xHCI Host Controller (PCI 0000:00:14.0), rev 20 - Internal devices on the affected USB2 root hub (bus 3):
- 0bda:5634 Realtek Laptop Camera (port 7)
- 27c6:609c Goodix Fingerprint reader (port 9)
- 8087:0032 Intel AX210 Bluetooth (port 10)
Symptom
Suspend (s2idle and deep S3) and hibernate all abort within a few
seconds; the machine appears to sleep (screen blanks) then immediately
powers back to the lock screen showing “Unlocking failed”, depending on
how long the machine was left. It never stays asleep.
Kernel log (representative, unmodified system)
kernel: PM: suspend entry (s2idle)
kernel: usb usb3: PM: dpm_run_callback(): usb_dev_suspend returns -16
kernel: usb usb3: PM: failed to suspend async: error -16
kernel: PM: Some devices failed to suspend, or early wake event detected
kernel: PM: suspend exit
kernel: PM: suspend entry (s2idle)
kernel: usb usb3: PM: dpm_run_callback(): usb_dev_suspend returns -16
kernel: usb usb3: PM: failed to suspend async: error -16
systemd-sleep: Failed to put system to sleep. System resumed again: Device or resource busy
Hibernate fails at the equivalent freeze phase:
kernel: PM: hibernation: hibernation entry
kernel: PM: hibernation: Allocated 6288364 kbytes in 2.39 seconds
kernel: usb usb3: PM: dpm_run_callback(): usb_dev_freeze returns -16
kernel: usb usb3: PM: failed to freeze async: error -16
systemd-sleep: Failed to put system to sleep. System resumed again: Device or resource busy
With USB port dynamic debug enabled, the USB2 root-hub ports poll
continuously and at least one port status changes mid-suspend, and the
internal devices are repeatedly reset by xhci_hcd even when no sleep is
in progress:
usb 3-9: reset full-speed USB device number 6 using xhci_hcd
usb 3-10: reset full-speed USB device number 4 using xhci_hcd
usb usb3-port10: status 0107 change 0000
usb usb3-port10: status 0103 change 0000
What I have already ruled out (OS side)
All of the following were tested and did NOT resolve the failure; the
usb usb3 ... -16 abort persisted through every one:
- Kernel version: fails identically on two different kernels.
- Sleep mode: fails on both
s2idleanddeep(S3)
(/sys/power/mem_sleep). - Fingerprint reader: unbinding the Goodix device (27c6:609c) entirely
did not help; the-16still occurred. - Wakeup sources: disabling
power/wakeupfor the touchpad
(i2c PIXA3854), the i8042 keyboard (serio0), the usb3 hub, and the
xHCI PCI parent (0000:00:14.0) individually and together did not
help. - USB quirks: booting with
usbcore.quirks=8087:0032:jm,27c6:609c:jm(DISCONNECT_SUSPEND +
IGNORE_REMOTE_WAKEUP for BT and fingerprint) did not help; it only
increased the reset churn. - Controller unbind: a systemd system-sleep hook unbinding the whole
xHCI controller (0000:00:14.0) before sleep did not help. - WiFi: disabling the AX210 WiFi radio did not change the hub state.
The combination of (a) failure on every sleep path, (b) independence
from kernel and sleep mode, (c) the internal devices resetting
continuously even while awake, and (d) onset immediately after the
3.25 flash points to a firmware/ACPI-level regression in how BIOS 3.25
initializes or powers the on-package xHCI USB2 root hub.
Request
- Can Framework confirm whether a known xHCI/USB suspend regression was
introduced in 11th Gen BIOS 3.25? - Is there a supported firmware-side workaround?
How to reproduce
- On an 11th Gen Framework Laptop 13 with BIOS 3.25, boot Linux
(Fedora 44, systemd). - Run
systemctl suspend(or close the lid, orsystemctl hibernate). - Observe the machine wake immediately;
journalctl -kshows
usb usb3: ... usb_dev_suspend returns -16.