]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: xhci: print xhci->xhc_state when queue_command failed
authorSu Hui <suhui@nfschina.com>
Fri, 25 Jul 2025 06:01:18 +0000 (14:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Jul 2025 08:50:24 +0000 (10:50 +0200)
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. So it's better
to print xhc_state's value which can help locate the resaon of the bug.

Signed-off-by: Su Hui <suhui@nfschina.com>
Link: https://lore.kernel.org/r/20250725060117.1773770-1-suhui@nfschina.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c

index 2b7415dd41702d366f40bdc6facecc2139557374..ecd757d482c582dcd96b52d2e41d4aafba056f7f 100644 (file)
@@ -4375,7 +4375,8 @@ static int queue_command(struct xhci_hcd *xhci, struct xhci_command *cmd,
 
        if ((xhci->xhc_state & XHCI_STATE_DYING) ||
                (xhci->xhc_state & XHCI_STATE_HALTED)) {
-               xhci_dbg(xhci, "xHCI dying or halted, can't queue_command\n");
+               xhci_dbg(xhci, "xHCI dying or halted, can't queue_command. state: 0x%x\n",
+                        xhci->xhc_state);
                return -ESHUTDOWN;
        }