Hi
This was reported to break the USB on one box:
[Wed Aug 6 16:51:33 2025] [ T355745] usb 1-2: reset full-speed USB device number 12 using xhci_hcd [Wed Aug 6 16:51:34 2025] [ T355745] usb 1-2: device descriptor read/64, error -71 [Wed Aug 6 16:51:34 2025] [ T355745] usb 1-2: device descriptor read/64, error -71
Protocol error (EPROTO) reading 64 bytes of device descriptor
[Wed Aug 6 16:51:34 2025] [ T355745] usb 1-2: reset full-speed USB device number 12 using xhci_hcd [Wed Aug 6 16:51:34 2025] [ T355745] usb 1-2: device descriptor read/64, error -71 [Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: device descriptor read/64, error -71 [Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: reset full-speed USB device number 12 using xhci_hcd [Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: Device not responding to setup address.
The xhci "address device" command failed with a transaction error Slot does not reach "addressed" state
[Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: Device not responding to setup address. [Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: device not accepting address 12, error -71 [Wed Aug 6 16:51:35 2025] [ T355745] usb 1-2: WARN: invalid context state for evaluate context command.
xhci evaluate context command failed, probably due to slot not in addressed state
[Wed Aug 6 16:51:36 2025] [ T355745] usb 1-2: reset full-speed USB device number 12 using xhci_hcd [Wed Aug 6 16:51:36 2025] [ C10] xhci_hcd 0000:0e:00.0: ERROR unknown event type 2
This is odd, TRBs of type "2" should not exists on event rings, TRB type id 2 are supposed to be the setup TRB for control transfers, and only exist on transfer rings.
[Wed Aug 6 16:51:36 2025] [ T355745] usb 1-2: Device not responding to setup address. [Wed Aug 6 16:51:37 2025] [ C10] xhci_hcd 0000:0e:00.0: ERROR unknown event type 2 [Wed Aug 6 16:52:50 2025] [ T362645] xhci_hcd 0000:0e:00.0: Abort failed to stop command ring: -110
Aborting command due to driver not seeing command completions. The missing command completions are probably those mangled "unknown" events
[Wed Aug 6 16:52:50 2025] [ T362645] xhci_hcd 0000:0e:00.0: xHCI host controller not responding, assume dead [Wed Aug 6 16:52:50 2025] [ T362645] xhci_hcd 0000:0e:00.0: HC died; cleaning up
Tear down xhci.
Any ideas? What would you need to debug this?
Could be that this patch reveals some underlying race in xhci re-enumeration path.
Could also be related to ep0 max packet size setting as this is a full-speed device. (max packet size is unknown until host reads first 8 bytes of descriptor, then adjusts it on the fly with an evaluate context command)
Appreciated if this could be reproduced with as few usb devices as possible, and with xhci tracing and dynamic debug enabled:
mount -t debugfs none /sys/kernel/debug echo 'module xhci_hcd =p' >/sys/kernel/debug/dynamic_debug/control echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable echo 1 > /sys/kernel/debug/tracing/tracing_on < Reproduce issue > Send output of dmesg Send content of /sys/kernel/debug/tracing/trace
Thanks Mathias