]> 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>
Thu, 28 Aug 2025 14:25:52 +0000 (16:25 +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 0862fdd3e5682ded487d78918997fb1588ac819d..c4880b22f35921c6b8d3b157bd11a10221a10012 100644 (file)
@@ -4421,7 +4421,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;
        }