* xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend
@ 2026-03-29 21:52 martinalderson
2026-03-30 0:07 ` Michal Pecio
0 siblings, 1 reply; 2+ messages in thread
From: martinalderson @ 2026-03-29 21:52 UTC (permalink / raw)
To: linux-usb
[BUG] xhci_hcd 0000:0f:00.0: controller declared dead on resume from suspend
Hardware:
CPU: AMD Ryzen 9 7900 12-Core Processor
Board: ASUS PRIME B650-PLUS
Controller: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8]
Subsystem: ASUSTeK Computer Inc. [1043:8877]
PCI: 0000:0f:00.0 (IOMMU group 30)
Software:
Kernel: 7.0.0-rc5 (commit be762d8b, built 2026-03-28)
Distro: Fedora 43 (Workstation)
Desktop: GNOME on Wayland
Description:
On the first suspend/resume cycle after boot, the xHCI controller at
0000:0f:00.0 (AMD Raphael/Granite Ridge USB 2.0) fails to resume and
is declared dead. A Logitech Unifying Receiver (046d:c52b) on this
controller is disconnected and the mouse (Logitech M720 Triathlon)
stops functioning.
A second xHCI controller on the same system (0000:0c:00.0, AMD 600
Series Chipset USB 3.2 [1022:43f7]) also errors on resume (USBSTS
0x401) but successfully recovers via reinit. The 0f:00.0 controller
does not recover.
Regression from rc4: suspend/resume worked correctly on 7.0-rc4 and
earlier kernels on the same hardware.
Reproduce:
1. Boot with USB device attached to a port on the 0000:0f:00.0 controller
2. Suspend (systemd suspend)
3. Resume
dmesg on resume:
xhci_hcd 0000:0f:00.0: xHCI host not responding to stop endpoint command
xhci_hcd 0000:0f:00.0: xHCI host controller not responding, assume dead
xhci_hcd 0000:0f:00.0: HC died; cleaning up
xhci_hcd 0000:0c:00.0: xHC error in resume, USBSTS 0x401, Reinit
usb usb1: root hub lost power or was reset
usb usb2: root hub lost power or was reset
usb 1-7: WARN: invalid context state for evaluate context command.
usb 1-10: WARN: invalid context state for evaluate context command.
usb 7-1: USB disconnect, device number 2
Workaround:
PCI remove + rescan recovers the controller:
echo 1 > /sys/bus/pci/devices/0000:0f:00.0/remove
echo 1 > /sys/bus/pci/rescan
A simple PCI device reset (echo 1 > .../reset) was insufficient -- the
controller came back but did not re-enumerate the attached device.
Notes:
- The 0f:00.0 controller is USB 2.0 only (USB3 root hub has no ports)
- hci version 0x120, hcc params 0x0110ffc5, quirks 0x0000000200000010
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend
2026-03-29 21:52 xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend martinalderson
@ 2026-03-30 0:07 ` Michal Pecio
0 siblings, 0 replies; 2+ messages in thread
From: Michal Pecio @ 2026-03-30 0:07 UTC (permalink / raw)
To: martinalderson; +Cc: linux-usb
On Sun, 29 Mar 2026 17:52:39 -0400, martinalderson@gmail.com wrote:
> [BUG] xhci_hcd 0000:0f:00.0: controller declared dead on resume from
> suspend
>
> Hardware:
> CPU: AMD Ryzen 9 7900 12-Core Processor
> Board: ASUS PRIME B650-PLUS
> Controller: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8]
> Subsystem: ASUSTeK Computer Inc. [1043:8877]
> PCI: 0000:0f:00.0 (IOMMU group 30)
>
> Software:
> Kernel: 7.0.0-rc5 (commit be762d8b, built 2026-03-28)
> Distro: Fedora 43 (Workstation)
> Desktop: GNOME on Wayland
>
> Description:
> On the first suspend/resume cycle after boot, the xHCI controller at
> 0000:0f:00.0 (AMD Raphael/Granite Ridge USB 2.0) fails to resume and
> is declared dead. A Logitech Unifying Receiver (046d:c52b) on this
> controller is disconnected and the mouse (Logitech M720 Triathlon)
> stops functioning.
>
> A second xHCI controller on the same system (0000:0c:00.0, AMD 600
> Series Chipset USB 3.2 [1022:43f7]) also errors on resume (USBSTS
> 0x401) but successfully recovers via reinit. The 0f:00.0 controller
> does not recover.
>
> Regression from rc4: suspend/resume worked correctly on 7.0-rc4 and
> earlier kernels on the same hardware.
That's interesting because there were no USB subsystem changes
between 7.0-rc4 and 7.0-rc5.
Any chance you could git-bisect this?
Are both kernels built with the same .config?
> Reproduce:
> 1. Boot with USB device attached to a port on the 0000:0f:00.0
> controller
> 2. Suspend (systemd suspend)
> 3. Resume
By the way, are you using this affected controller to resume
(with a keyboard or something like that)?
> dmesg on resume:
> xhci_hcd 0000:0f:00.0: xHCI host not responding to stop endpoint command
> xhci_hcd 0000:0f:00.0: xHCI host controller not responding, assume dead
> xhci_hcd 0000:0f:00.0: HC died; cleaning up
> xhci_hcd 0000:0c:00.0: xHC error in resume, USBSTS 0x401, Reinit
> usb usb1: root hub lost power or was reset
> usb usb2: root hub lost power or was reset
> usb 1-7: WARN: invalid context state for evaluate context command.
> usb 1-10: WARN: invalid context state for evaluate context command.
> usb 7-1: USB disconnect, device number 2
>
> Workaround:
> PCI remove + rescan recovers the controller:
> echo 1 > /sys/bus/pci/devices/0000:0f:00.0/remove
> echo 1 > /sys/bus/pci/rescan
>
> A simple PCI device reset (echo 1 > .../reset) was insufficient -- the
> controller came back but did not re-enumerate the attached device.
What about the unbind/bind procedure described here?
https://bugzilla.kernel.org/show_bug.cgi?id=221073
> Notes:
> - The 0f:00.0 controller is USB 2.0 only (USB3 root hub has no ports)
> - hci version 0x120, hcc params 0x0110ffc5, quirks 0x0000000200000010
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-30 0:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-29 21:52 xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend martinalderson
2026-03-30 0:07 ` Michal Pecio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox