From: Michal Pecio <michal.pecio@gmail.com>
To: Henry Tseng <henrytseng@qnap.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org
Subject: Re: [PATCH 0/2] xhci: handshake timeout overrun and configure endpoint hang on device disconnect
Date: Fri, 30 Oct 2026 11:55:37 +0100 [thread overview]
Message-ID: <20261030115537.088e68f3.michal.pecio@gmail.com> (raw)
In-Reply-To: <20261030101518.35876-1-henrytseng@qnap.com>
On Fri, 30 Oct 2026 18:15:17 +0800, Henry Tseng wrote:
> I got a 10 Gbps hub (05e3:0625) and tried it on v7.3-rc5. Unplugging
> the enclosure from the hub still doesn't hang, but disconnecting the
> hub together with the enclosure from the root port does. The stuck
> command is again the one dropping ep 0x83 of a 1c04:0018 hub inside
> the enclosure, 2-1.2.3 (slot 6) here.
>
> [ 59.162027] usb 2-1.2.3: new SuperSpeed Plus Gen 2x1 USB device number 4 using xhci_hcd
> [ 59.174788] usb 2-1.2.3: New USB device found, idVendor=1c04, idProduct=0018, bcdDevice=94.01
> ...
> [ 99.662478] xhci_hcd 0000:0c:00.3: Port change event, 2-1, id 5, portsc: 0x202a0
> [ 99.662702] usb 2-1: USB disconnect, device number 2
> [ 99.662721] usb 2-1.2.3: USB disconnect, device number 4
> [ 99.662937] xhci_hcd 0000:0c:00.3: Cancel URB 000000002114d18f, dev 1.2.3, ep 0x83, starting at offset 0xfe68d000
> [ 99.675129] xhci_hcd 0000:0c:00.3: drop ep 0x83, slot id 6, new drop flags = 0x80, new add flags = 0x0
> [ 105.027976] xhci_hcd 0000:0c:00.3: Command timeout, USBSTS: 0x00000010 PCD
>
> So the hang seems tied to the root port going away rather than to
> where the enclosure sits. The NOTATTACHED check handles this case
> as well, since usb_disconnect() marks the whole subtree.
Great, we can confidently deal with this bug internally in xhci-hcd,
without worrying about external hubs that we have no visibility into.
As for actually fixing this, we are now in panic mode because the 7.3
changes in the logic for avoiding HW bugs on disconnection have caused
regressions. We may need to wait till the dust settles there.
Using udev->state instead of xhci-hcd infrastructure might work too
while avoiding the aforementioned drama, but I'm not familiar enough
with USB core to tell off the top of my head if it's 100% reliable.
Regards,
Michal
next prev parent reply other threads:[~2026-10-30 10:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 10:17 [PATCH 0/2] xhci: handshake timeout overrun and configure endpoint hang on device disconnect Henry Tseng
2026-09-30 10:17 ` [PATCH 1/2] xhci: make xhci_handshake() timeout wall-clock based again Henry Tseng
2026-09-30 10:17 ` [PATCH 2/2] xhci: skip configure endpoint when dropping endpoints of a disconnected device Henry Tseng
2026-10-02 9:30 ` [PATCH 0/2] xhci: handshake timeout overrun and configure endpoint hang on device disconnect Michal Pecio
2026-10-07 9:52 ` Henry Tseng
2026-10-08 9:06 ` Michal Pecio
2026-10-08 9:13 ` Michal Pecio
2026-10-08 10:25 ` Henry Tseng
2026-10-09 15:35 ` Michal Pecio
2026-10-16 10:11 ` Henry Tseng
2026-10-26 9:10 ` Michal Pecio
2026-10-30 10:15 ` Henry Tseng
2026-10-30 10:55 ` Michal Pecio [this message]
2026-10-22 10:03 ` Henry Tseng
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=20261030115537.088e68f3.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=henrytseng@qnap.com \
--cc=linux-usb@vger.kernel.org \
--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.