Re: [PATCH v2] usb: xhci: print xhci->xhc_state when queue_command failed

Michał Pecio
2025-07-25T10:03:35Z

Hi,

On Fri, 25 Jul 2025 14:01:18 +0800, Su Hui wrote:
> When encounters some errors like these:
> xhci_hcd 0000:4a:00.2: xHCI dying or halted, can't queue_command
> xhci_hcd 0000:4a:00.2: FIXME: allocate a command ring segment
> usb usb5-port6: couldn't allocate usb_device
>
> It's hard to know whether xhc_state is dying or halted.

Is it truly a problem? This is the only place which sets
XHCI_STATE_DYING that I found in the whole drivers/ tree:

xhci_err(xhci, "xHCI host controller not responding, assume dead\n");
xhci->xhc_state |= XHCI_STATE_DYING;

And AFAIK such state can only be exited by unbinding the driver.
Are there really cases when it's unclear if the HC is dying or not?

> So it's better to print xhc_state's value which can help locate the
> resaon of the bug.

Hmm, any chance you came across bugs that upstream should know about?

Regards,
Michal