]> 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:30:21 +0000 (18:30 +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 2ff8787f753c90160c0d8fcdedde37ae39ad412f..19978f02bb9e537a1bd7a6e36f272ff6d08f8e3f 100644 (file)
@@ -4378,7 +4378,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;
        }