From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>,
Ben <benstaples10@gmail.com>
Cc: linux-usb@vger.kernel.org, andreas.noever@gmail.com,
westeri@kernel.org, YehezkelShB@gmail.com
Subject: Re: xhci_hcd 0000:0c:00.0 dies with "Abort failed to stop command ring: -110" exactly 24s post-init, tunneled USB4 xHCI behind Goshen Ridge (ASUS ThunderboltEX 4) + CalDigit TS4
Date: Tue, 22 Sep 2026 14:28:17 +0300 [thread overview]
Message-ID: <346a4f1d-629f-4a93-a00b-0b59306562cb@linux.intel.com> (raw)
In-Reply-To: <20260922042608.GZ106095@black.igk.intel.com>
On 9/22/26 07:26, Mika Westerberg wrote:
> Hi,
>
> On Mon, Sep 21, 2026 at 07:25:53PM -0400, Ben wrote:
>> Mika,
>>
>> I've attached the dmesg output from cold boot, the output of tbdump,
>> and a copy of my boot record for a sanity check. I plugged my
>> mouse/keyboard driectly into the motherboard as I tried once before
>> this and did not have access to USB devices through the dock.
>
> Thanks! Yeah I can see that the xHCI is enumerated just fine:
>
> [ 0.444810] xhci_hcd 0000:0c:00.0: xHCI Host Controller
> [ 0.444815] xhci_hcd 0000:0c:00.0: new USB bus registered, assigned bus number 1
> [ 0.446007] xhci_hcd 0000:0c:00.0: hcc params 0x20007fc1 hci version 0x110 quirks 0x0000000000009810
> [ 0.446448] xhci_hcd 0000:0c:00.0: xHCI Host Controller
> [ 0.446450] xhci_hcd 0000:0c:00.0: new USB bus registered, assigned bus number 2
> [ 0.446452] xhci_hcd 0000:0c:00.0: Host supports USB 3.1 Enhanced SuperSpeed
>
> but then later on it is not accessible anymore:
>
> [ 24.964042] xhci_hcd 0000:0c:00.0: Abort failed to stop command ring: -110
> [ 24.964050] xhci_hcd 0000:0c:00.0: xHCI host controller not responding, assume dead
> [ 24.964053] xhci_hcd 0000:0c:00.0: HC died; cleaning up
> [ 24.964071] xhci_hcd 0000:0c:00.0: Error while assigning device slot ID: Command Aborted
> [ 24.964075] xhci_hcd 0000:0c:00.0: Max number of devices this xHCI host supports is 64.
>
> It could be that it went into runtime suspend before that. One thing you
> could try is to connect USB3 device to the dock, like memory stick or so.
> That would prevent xHCI from entering runtime suspend.
>
>>> Are you able to see if the link is USB4 or TB3? Can you do the same now
>>> with Linux, boot with the dock connected and share full dmesg?
>>
>> In Windows, I check with the Intel Thunderbolt Control Center, which
>> indicated the link was TB4. I then checked the Device manager and the
>> PCIE device indicated that it was taking up enough of the bus to
>> support that, though I was not able to take a screenshot. I could
>> check again if it would be helpful
>
> Can you see the 0c:00.0 xHCI in the device manager? I would expect yes and
> then this ends up just being Linux specific issue with the xHCI on GR. I'm
> adding Mathias in case he has any ideas.
It fails on the very first command xHCI is asked to run.
This command is queued after a usb device connection is detected.
It behaves as interrupts aren't working properly, or then xHC isn't
running at all.
Looks like this xHC host supports D1 and D2 states, not sure if it's relevant.
"Abort failed to stop command ring: -110" means command was queued 10seconds
earlier. If there were usb devices connected to this host at boot then it still
took way too long to detect them (~12 seconds).
Missing/blocked xHC interrupt would be my best guess.
Are there any interrupts for this xHCI device in /proc/interrupts?
Can you take snapshot copy of some xHC rings and registers a couple seconds before
the crash? following directories would be interesting, (including all files,
especially the 'trbs' ones):
/sys/kernel/debug/usb/xhci/0000:0c:00.0/event-ring/
/sys/kernel/debug/usb/xhci/0000:0c:00.0/command-ring/
The reg-op file could also be useful:
/sys/kernel/debug/usb/xhci/0000:0c:00.0/reg-op
The event ring content should show if xHC processed the command or not.
i.e. is xHC not running, thus failing to process the command, or are
interrupts not triggered on successfully completed commands.
Thanks
Mathias
next prev parent reply other threads:[~2026-09-22 11:28 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 4:04 xhci_hcd 0000:0c:00.0 dies with "Abort failed to stop command ring: -110" exactly 24s post-init, tunneled USB4 xHCI behind Goshen Ridge (ASUS ThunderboltEX 4) + CalDigit TS4 Ben
2026-09-15 4:19 ` Mika Westerberg
2026-09-15 4:27 ` Ben
2026-09-15 4:38 ` Mika Westerberg
2026-09-15 4:46 ` Ben
2026-09-15 5:05 ` Mika Westerberg
2026-09-16 3:01 ` Ben
2026-09-16 7:51 ` Mika Westerberg
2026-09-17 2:18 ` Ben
2026-09-17 2:40 ` Ben
2026-09-17 4:38 ` Mika Westerberg
2026-09-19 0:28 ` Ben
2026-09-21 4:44 ` Mika Westerberg
2026-09-21 23:25 ` Ben
2026-09-22 4:26 ` Mika Westerberg
2026-09-22 11:28 ` Mathias Nyman [this message]
2026-09-24 3:02 ` Ben
2026-09-24 15:49 ` [WARNING: UNSCANNABLE EXTRACTION FAILED]Re: " Mathias Nyman
2026-09-24 22:18 ` Ben
2026-09-25 8:27 ` Michal Pecio
2026-09-25 8:40 ` Michal Pecio
2026-09-26 0:28 ` Ben
2026-09-26 8:37 ` Michal Pecio
2026-09-26 13:59 ` Ben
2026-09-26 17:41 ` Michal Pecio
2026-09-29 23:50 ` Ben
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=346a4f1d-629f-4a93-a00b-0b59306562cb@linux.intel.com \
--to=mathias.nyman@linux.intel.com \
--cc=YehezkelShB@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=benstaples10@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=westeri@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