]> 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:28:15 +0000 (16:28 +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 44352df58c9e4e16010adc7543e85b16c9495c88..c6d89b51c678c7a86d84438f746572d83f82ea3f 100644 (file)
@@ -4454,7 +4454,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;
        }