From: bugzilla-daemon@kernel.org
To: linux-usb@vger.kernel.org
Subject: [Bug 220069] [6.13.9] regression USB controller dies
Date: Mon, 05 May 2025 08:49:54 +0000 [thread overview]
Message-ID: <bug-220069-208809-u90VNEyM2V@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-220069-208809@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=220069
--- Comment #36 from Michał Pecio (michal.pecio@gmail.com) ---
Restricting power management may reduce occurrences of this problem, maybe even
to nothing or almost nothing, because things are breaking while resuming a hub
from autosuspend. However, I don't think that power management is the root
cause or the only workload which could run into trouble, it's just the one
which happens often enough to be regularly running into trouble on your system.
I see a few things being wrong or suspicious here.
1. The "average TRB length" properly of all Control Endpoint Contexts is set to
zero, but it should be 8. This was recently reported as a violation of the xHCI
spec with no known impact. It is probably irrelevant, but who knows - this
should ideally be fixed for peace of mind. It can only be solved by a kernel
patch.
2. The webcam driver regularly generates a burts of transfer cancellations,
which is a known problem case. The command sequences and their completion
events look OK, but IME ASMedia and Promontory can still behave weird under
such conditions.
3. Sometimes when 8-3 hub resume happens some time after (or during) the webcam
driver activity burst, it fails. And it fails weirdly: dmesg suggests that some
control transfer to confirm the resumed hub's status times out, and when a Stop
Endpoint command is issued to cancel the transfer, we suddenly get an event
informing about a Transaction Error instead, and the Endpoint Context may or
may not indicate that the control endpoint is halted (which it should be after
an error), and yet the Stop Command succeeds (which it shouldn't), and we may
get multiple "Stopped" events (we shouldn't) before the command's completion
event.
This is similar to misbehaviors I have been seeing due to problem #2 in the
past.
4. Then an odd sequence of Reset Device commands is issued, probably courtesy
of
2c31b05c63cf usb: hub: lack of clearing xHC resources
which landed in 6.13.7 and 6.14+. I wouldn't be surprised if there are some
spec violations in this commit, but I'm not sure if they would be harmful in
this case.
We probably shouldn't be issuing Reset Device for the child 8-3.4 hub here.
We don't need to (and probably shouldn't) be issuing Reset Device 8-3 twice.
5. Lastly, attempts to reset 8-3 are not improving the situation and the hub
driver tries to disable and enable the device slot, and address the device
again.
Hard to tell what's the outcome of this command, because it appears to generate
a mangled completion event ("unknown event type <number>"). However, the event
does contain a pointer to this command. It is possible that the HC progresses
to the next command.
6. Very lastly, all unrelated transfers stop happening and a Stop Endpoint
command issued to the webcam endpoint either never is reached, or hangs the HC
for good.
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2025-05-05 8:49 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-29 14:28 [Bug 220069] New: [6.13.9] regression USB controller dies bugzilla-daemon
2025-04-29 20:07 ` [Bug 220069] " bugzilla-daemon
2025-04-29 20:43 ` bugzilla-daemon
2025-04-29 20:45 ` bugzilla-daemon
2025-04-30 5:57 ` bugzilla-daemon
2025-04-30 8:57 ` bugzilla-daemon
2025-04-30 9:42 ` bugzilla-daemon
2025-04-30 9:49 ` bugzilla-daemon
2025-04-30 9:53 ` bugzilla-daemon
2025-04-30 21:36 ` bugzilla-daemon
2025-04-30 22:36 ` bugzilla-daemon
2025-04-30 22:52 ` bugzilla-daemon
2025-05-01 7:29 ` bugzilla-daemon
2025-05-01 7:45 ` bugzilla-daemon
2025-05-01 9:48 ` bugzilla-daemon
2025-05-01 21:04 ` bugzilla-daemon
2025-05-01 21:43 ` bugzilla-daemon
2025-05-01 23:43 ` bugzilla-daemon
2025-05-02 0:07 ` bugzilla-daemon
2025-05-02 0:08 ` bugzilla-daemon
2025-05-02 9:28 ` bugzilla-daemon
2025-05-02 11:02 ` bugzilla-daemon
2025-05-02 11:03 ` bugzilla-daemon
2025-05-03 0:23 ` bugzilla-daemon
2025-05-03 8:08 ` bugzilla-daemon
2025-05-03 12:09 ` bugzilla-daemon
2025-05-03 12:10 ` bugzilla-daemon
2025-05-03 14:00 ` bugzilla-daemon
2025-05-03 17:49 ` bugzilla-daemon
2025-05-03 18:25 ` bugzilla-daemon
2025-05-03 19:09 ` bugzilla-daemon
2025-05-04 11:40 ` bugzilla-daemon
2025-05-04 12:41 ` bugzilla-daemon
2025-05-04 13:58 ` bugzilla-daemon
2025-05-04 14:17 ` bugzilla-daemon
2025-05-04 17:23 ` bugzilla-daemon
2025-05-05 8:49 ` bugzilla-daemon [this message]
2025-05-05 8:58 ` bugzilla-daemon
2025-05-05 9:13 ` bugzilla-daemon
2025-05-05 9:32 ` bugzilla-daemon
2025-05-05 9:40 ` bugzilla-daemon
2025-05-05 9:48 ` bugzilla-daemon
2025-05-05 10:53 ` bugzilla-daemon
2025-05-05 14:07 ` bugzilla-daemon
2025-05-05 21:22 ` bugzilla-daemon
2025-05-05 21:41 ` bugzilla-daemon
2025-05-07 23:02 ` bugzilla-daemon
2025-05-11 11:18 ` bugzilla-daemon
2025-05-11 12:49 ` bugzilla-daemon
2025-05-11 12:53 ` bugzilla-daemon
2025-05-11 12:58 ` bugzilla-daemon
2025-05-11 13:00 ` bugzilla-daemon
2025-05-15 10:05 ` bugzilla-daemon
2025-05-17 16:04 ` bugzilla-daemon
2025-05-18 23:37 ` bugzilla-daemon
2025-05-19 0:02 ` bugzilla-daemon
2025-05-19 0:13 ` bugzilla-daemon
2025-05-19 6:47 ` bugzilla-daemon
2025-05-19 12:08 ` bugzilla-daemon
2025-05-20 16:18 ` bugzilla-daemon
2025-05-20 16:22 ` bugzilla-daemon
2025-05-23 21:43 ` bugzilla-daemon
2025-05-23 21:44 ` bugzilla-daemon
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=bug-220069-208809-u90VNEyM2V@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-usb@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;
as well as URLs for NNTP newsgroup(s).