From: Lovekesh Solanki <lovekeshsolanki00@gmail.com>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>,
linux-usb@vger.kernel.org, regressions@lists.linux.dev,
stable@vger.kernel.org, linux-kernel@vger.kernel.org,
Mario Limonciello <mario.limonciello@amd.com>,
Forest <forestix@gaga.casa>,
Slavik Dev <developer.slavik@gmail.com>,
Michal Pecio <michal.pecio@gmail.com>,
Mathieu Fluhr <mathieu.fluhr@gmail.com>
Subject: Re: [REGRESSION] 6.12.36+: usb: hub: post-resume delayed work triggers > uncorrected MCE / data fabric sync flood on Threadripper 7970X > (bisected to aec11e5f9c45)
Date: Sun, 23 Aug 2026 20:47:55 +0530 [thread overview]
Message-ID: <aosGtkE_diwVJJtB@eggarch> (raw)
In-Reply-To: <07435e6b-ee30-4c85-8c8b-0ce3a4ead1d9@leemhuis.info>
On Sun, Aug 23, 2026 at 12:36:55PM +0200, Thorsten Leemhuis wrote:
> that ticket apparently didn't help. And no other fix is in sight, or am
> I missing something?
>
> Mathias reverting the culprit in mainline a option to resolve this (I
> assume it is not, but I'm asking just to be sure)?
I don't think a revert is needed here, we're just trading one regression
for another.
Commit 8f5b7e2bec1c introduced the 200ms hold for all superspeed hubs,
but it's only useful for external ones. Root hubs are superspeed hubs
too so they go through the same code, but there's nothing useful for
the hold to do there:
A root hub has no upstream suspended hub whose wake propagation we need
to wait for and xhci already handles late USB3 link training itself.
Also hubs have a 0 second autosuspend delay (596d789a211d), so this hold
is the only thing stretching the awake window.
and anything opening or closing /dev/bus/usb nodes auto resumes and auto
suspends the whole host controller, adb's periodic enumeration does that
so on the reported affected systems every SS roothub cycle grows from
~30 to ~235ms (from the dynamic debug traces in
https://lore.kernel.org/all/qc0nhk9c6l0a08bkfeplrm3qjssgrjkvkp@sonic.net/)
which makes suspend move from close() call into delayed work and results
in the ~1Hz stress loop described upthread.
I think skipping the hold for hubs without a parent device, i.e. keep TB
dock behaviour everywhere it matters, should fix this.
Patch below could any of the reporters test it?
Thanks,
DrEggCake
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index d92bf887739d..f642ea0c31dc 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1346,7 +1346,8 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
device_unlock(&hdev->dev);
}
- if (type == HUB_RESUME && hub_is_superspeed(hub->hdev)) {
+ if (type == HUB_RESUME && hub->hdev->parent &&
+ hub_is_superspeed(hub->hdev)) {
/* give usb3 downstream links training time after hub resume */
usb_autopm_get_interface_no_resume(
to_usb_interface(hub->intfdev));
next prev parent reply other threads:[~2026-08-23 15:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-23 9:55 Mathieu Fluhr
2026-08-23 10:12 ` Mathieu Fluhr
2026-08-23 10:15 ` [REGRESSION] 6.12.36+: usb: hub: post-resume delayed work triggers > uncorrected MCE / data fabric sync flood on Threadripper 7970X > (bisected to aec11e5f9c45) Mathieu Fluhr
2026-08-23 10:36 ` Thorsten Leemhuis
2026-08-23 11:44 ` Mathieu Fluhr
2026-08-23 16:10 ` Michal Pecio
2026-08-23 15:17 ` Lovekesh Solanki [this message]
2026-08-23 15:40 ` Michal Pecio
2026-08-23 17:05 ` Lovekesh Solanki
2026-08-24 19:37 ` Mathieu Fluhr
2026-08-24 22:09 ` 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=aosGtkE_diwVJJtB@eggarch \
--to=lovekeshsolanki00@gmail.com \
--cc=developer.slavik@gmail.com \
--cc=forestix@gaga.casa \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mathias.nyman@linux.intel.com \
--cc=mathieu.fluhr@gmail.com \
--cc=michal.pecio@gmail.com \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®