Re: Regression: webcam freezing since Linux 6.15
Bart Nagel <[email protected]> Thu, 30 Jul 2026 15:16:29 -0700
| Newsgroups | org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <amvLNSih7i1iyHDM@spiral> |
At 2026-07-30 23:59:53 +0200, Michal Pecio wrote:
> On Thu, 30 Jul 2026 11:13:59 -0700, Bart Nagel wrote:
> > At 2026-07-30 13:08:14 +0200, Michal Pecio wrote:
> > > I'm slightly curious what exactly happens there (probably MSE after
> > > Short Packet on a single-TRB TD), and whether Missed Service Error
> > > may point at a Link TRB, because the current fix wouldn't handle
> > > that and the stream could still hang. So your failure rate may
> > > actually be reduced to 1/255 of what it was, but still not zero.
> > >
> > > If possible, please boot the patched kernel again and run it for
> > > a little longer. If it fails, post dmesg starting from the "Miss
> > > service interval error" line which is followed by "All TDs skipped".
> > >
> > > And while that is running, also collect another log:
> > >
> > > cd /sys/kernel/tracing/
> > > echo 1 > events/xhci-hcd/xhci_handle_event/enable
> > > echo 1 > tracing_on
> > > grep -B5 Missed trace_pipe | tee /tmp/trace
> > >
> > > This is supposed to log 6 lines for every Missed Service Error, so
> > > it will grow, but not terribly fast.
> >
> > Before I make a bad assumption and collect a useless log, please
> > confirm for me exactly which debugging I should enable. Just the two
> > you gave above, or also one or both of the ones I was using before:
> >
> > echo "func handle_tx_event +p" >/proc/dynamic_debug/control
> > echo 0xff >/sys/module/uvcvideo/parameters/trace
>
> Yes, please keep handle_tx_event, otherwise xhci_hcd debug messages
> won't show up. UVC trace is not that important.
Ah, good, that seemed most likely and I did start it running. No
freeze yet after close to 4 hours.
Is there anything I can grep for in one log or the other which would
show that we're down to 0/255 chance of freezing rather than 1/255?
Else I'll just keep my CPU cooking overnight.
The trace log so far is sometimes getting lines starting with various
things such as stress, systemd-journal, PTF yeader, tee, grep,
PipeWire thread. Is this as expected?
An example which just popped up:
stress-62735 [000] d.h1. 41416.344013: xhci_handle_event: EVENT: @0x000000010fb9c6c0 TRB 000000010aea66e0 status 'Success' len 0 slot 7 ep 3 type 'Transfer Event' flags e:C
stress-62735 [000] d.h1. 41416.344013: xhci_handle_event: EVENT: @0x000000010fb9c6d0 TRB 000000010aea66f0 status 'Success' len 0 slot 7 ep 3 type 'Transfer Event' flags e:C
stress-62735 [000] d.h1. 41416.344013: xhci_handle_event: EVENT: @0x000000010fb9c6e0 TRB 000000010aea6710 status 'Success' len 0 slot 7 ep 3 type 'Transfer Event' flags e:C
stress-62735 [000] d.h1. 41416.344014: xhci_handle_event: EVENT: @0x000000010fb9c6f0 TRB 000000010aea6720 status 'Success' len 0 slot 7 ep 3 type 'Transfer Event' flags e:C
stress-62735 [000] d.h1. 41416.344014: xhci_handle_event: EVENT: @0x000000010fb9c700 TRB 000000010aea6740 status 'Success' len 0 slot 7 ep 3 type 'Transfer Event' flags e:C
kworker/u33:4-79857 [000] d.h1. 41416.344172: xhci_handle_event: EVENT: @0x000000010fb9c710 TRB 000000010aea6750 status 'Missed Service Error' len 7168 slot 7 ep 3 type 'Transfer Event' flags e:C
kworker/u33:4-79857 [000] d.h1. 41416.344297: xhci_handle_event: EVENT: @0x000000010fb9c720 TRB 0000000000000000 status 'Missed Service Error' len 2048 slot 7 ep 3 type 'Transfer Event' flags e:C
kworker/u33:4-79857 [000] d.h1. 41416.344300: xhci_handle_event: EVENT: @0x000000010fb9c730 TRB 0000000000000000 status 'Missed Service Error' len 33792 slot 7 ep 3 type 'Transfer Event' flags e:C
I'm sometimes seeing some "USB Transaction Error" and "Short Packet"
as well as "Success" and "Missed Service Error".