From: Mario Limonciello <superm1@kernel.org>
To: mario.limonciello@amd.com, mathias.nyman@intel.com,
gregkh@linuxfoundation.org
Cc: linux-usb@vger.kernel.org
Subject: [PATCH 3/4] usb: xhci: Avoid showing errors during surprise removal
Date: Sun, 8 Jun 2025 20:58:03 -0500 [thread overview]
Message-ID: <20250609020223.269407-4-superm1@kernel.org> (raw)
In-Reply-To: <20250609020223.269407-1-superm1@kernel.org>
From: Mario Limonciello <mario.limonciello@amd.com>
When a USB4 dock is unplugged from a system it won't respond to ring
events. The PCI core handles the surprise removal event and notifies
all PCI drivers. The XHCI PCI driver sets a flag that the device is
being removed as well.
When that flag is set don't show messages in the cleanup path for
marking the controller dead.
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
drivers/usb/host/xhci-ring.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index e038ad3375dc9..997628f8d06e5 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1377,12 +1377,15 @@ static void xhci_kill_endpoint_urbs(struct xhci_hcd *xhci,
*/
void xhci_hc_died(struct xhci_hcd *xhci)
{
+ bool notify;
int i, j;
if (xhci->xhc_state & XHCI_STATE_DYING)
return;
- xhci_err(xhci, "xHCI host controller not responding, assume dead\n");
+ notify = !(xhci->xhc_state & XHCI_STATE_REMOVING);
+ if (notify)
+ xhci_err(xhci, "xHCI host controller not responding, assume dead\n");
xhci->xhc_state |= XHCI_STATE_DYING;
xhci_cleanup_command_queue(xhci);
@@ -1396,7 +1399,7 @@ void xhci_hc_died(struct xhci_hcd *xhci)
}
/* inform usb core hc died if PCI remove isn't already handling it */
- if (!(xhci->xhc_state & XHCI_STATE_REMOVING))
+ if (notify)
usb_hc_died(xhci_to_hcd(xhci));
}
--
2.43.0
next prev parent reply other threads:[~2025-06-09 2:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-09 1:58 [PATCH 0/4] Don't make noise about disconnected USB4 devices Mario Limonciello
2025-06-09 1:58 ` [PATCH 1/4] PCI: Don't show errors on inaccessible PCI devices Mario Limonciello
2025-06-09 15:09 ` Lukas Wunner
2025-06-09 15:41 ` Mario Limonciello
2025-06-09 1:58 ` [PATCH 2/4] PCI: Fix runtime PM usage count underflow Mario Limonciello
2025-06-09 15:16 ` Lukas Wunner
2025-06-09 1:58 ` Mario Limonciello [this message]
2025-06-09 12:42 ` [PATCH 3/4] usb: xhci: Avoid showing errors during surprise removal Mathias Nyman
2025-06-09 13:07 ` Mario Limonciello
2025-06-09 14:52 ` Mathias Nyman
2025-06-09 1:58 ` [PATCH 4/4] usb: xhci: Avoid showing warnings for dying controller Mario Limonciello
2025-06-09 12:47 ` Mathias Nyman
2025-06-09 9:19 ` [PATCH 0/4] Don't make noise about disconnected USB4 devices Michał Pecio
2025-06-09 13:05 ` Mario Limonciello
2025-06-09 15:20 ` Lukas Wunner
-- strict thread matches above, loose matches on Subject: below --
2025-06-09 2:05 [PATCH 3/4] usb: xhci: Avoid showing errors during surprise removal Mario Limonciello
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250609020223.269407-4-superm1@kernel.org \
--to=superm1@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-usb@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mathias.nyman@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.