]> git.ipfire.org Git - thirdparty/kernel/stable.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>
Wed, 20 Aug 2025 16:40:56 +0000 (18:40 +0200)
[ Upstream commit 7919407eca2ef562fa6c98c41cfdf6f6cdd69d92 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/host/xhci-ring.c

index 94c9c9271658ecc784ffa2ad1506603c703aeaf3..131e7530ec4aa3907095fd4fb0101a21937bc6c8 100644 (file)
@@ -4372,7 +4372,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;
        }