From: Michal Pecio <michal.pecio@gmail.com>
To: Bart Nagel <bart@tremby.net>
Cc: linux-usb@vger.kernel.org
Subject: Re: Regression: webcam freezing since Linux 6.15
Date: Thu, 23 Jul 2026 08:14:40 +0200 [thread overview]
Message-ID: <20260723081440.0228c59e.michal.pecio@gmail.com> (raw)
In-Reply-To: <amFNBLzwUdZhqpup@spiral>
On Wed, 22 Jul 2026 16:23:28 -0700, Bart Nagel wrote:
> > You will probably see Missed Service Errors being logged
> > occasionally, likely both on "good" and "bad" kernels. And it seems
> > that good ones will recover every time, but not sure about bad
> > ones. Does the first MSE break things forever? Or does it take a
> > few? Could you post a log when it breaks? Caution: you may see
> > thousands of lines per second.
>
> I'm still on the asterisked kernel from the list above at the moment
> (appears to be "good"). I tried enabling this and I do indeed get a
> few of those errors and they seem to recover. This is what I have so
> far after having set it about 5 minutes ago:
>
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:14:52 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
Please use 'journalctl -o short-precise' or simply 'dmesg' next time.
It seems these errors are happening in bursts, sporadically, but much
more often than your failure rate, so 'bad' kernels handle most of them
fine and only occasionally something goes wrong.
Per your other email, affected hardware is Intel 100 series chipset
(8086:a12f ?) USB 3.0 controller. If you run 'dmesg | grep hci.version'
I suppose you will see version 0x100, so it's somewhat old HW.
Maybe don't bother with newer kernels for now, but simply checkout
d0b619599e52 and also add this patch. Recompilation should be fast.
Then run it to failure and post the log. You may want to run
'dmesg -W | tee logfile.txt' just in case, because the resulting flood
may overwrite initial messages in the kernel log buffer and I'm not
sure how much extra buffering journald maintains.
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 24fde00fbb3f..57b326d9c99c 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2779,8 +2786,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
*/
ep->skip = true;
xhci_dbg(xhci,
- "Miss service interval error for slot %u ep %u, set skip flag%s\n",
- slot_id, ep_index, ep_trb_dma ? ", skip now" : "");
+ "Miss service interval error for slot %u ep %u ep_trb_dma %llx, set skip flag\n",
+ slot_id, ep_index, ep_trb_dma);
break;
case COMP_NO_PING_RESPONSE_ERROR:
ep->skip = true;
WARNING: multiple messages have this Message-ID (diff)
From: Michal Pecio <michal.pecio@gmail.com>
To: Bart Nagel <bart@tremby.net>
Cc: linux-usb@vger.kernel.org, mathias.nyman@intel.com
Subject: Re: Regression: webcam freezing since Linux 6.15
Date: Thu, 23 Jul 2026 08:19:42 +0200 [thread overview]
Message-ID: <20260723081440.0228c59e.michal.pecio@gmail.com> (raw)
Message-ID: <20260723061942.9y5HEf20Busv5mYB67eZq44GgayApARH6yYnOAXuVRQ@z> (raw)
In-Reply-To: <amFNBLzwUdZhqpup@spiral>
Please use "Reply to all" and be careful to preserve Cc's, particularly
maintainers of the affected driver. Re-adding Mathias Nyman.
On Wed, 22 Jul 2026 16:23:28 -0700, Bart Nagel wrote:
> > You will probably see Missed Service Errors being logged
> > occasionally, likely both on "good" and "bad" kernels. And it seems
> > that good ones will recover every time, but not sure about bad
> > ones. Does the first MSE break things forever? Or does it take a
> > few? Could you post a log when it breaks? Caution: you may see
> > thousands of lines per second.
>
> I'm still on the asterisked kernel from the list above at the moment
> (appears to be "good"). I tried enabling this and I do indeed get a
> few of those errors and they seem to recover. This is what I have so
> far after having set it about 5 minutes ago:
>
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:07 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:14:52 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:14:53 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:16:06 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Miss service interval error for slot 18 ep 2, set skip flag
> Jul 22 16:17:33 spiral kernel: xhci_hcd 0000:00:14.0: Found td. Clear skip flag for slot 18 ep 2.
Please use 'journalctl -o short-precise' or simply 'dmesg' next time.
It seems these errors are happening in bursts, sporadically, but much
more often than your failure rate, so 'bad' kernels handle most of them
fine and only occasionally something goes wrong.
Per your other email, affected hardware is Intel 100 series chipset
(8086:a12f ?) USB 3.0 controller. If you run 'dmesg | grep hci.version'
I suppose you will see version 0x100, so it's somewhat old HW.
Maybe don't bother with newer kernels for now, but simply checkout
d0b619599e52 and also add this patch. Recompilation should be fast.
Then run it to failure and post the log. You may want to run
'dmesg -W | tee logfile.txt' just in case, because the resulting flood
may overwrite initial messages in the kernel log buffer and I'm not
sure how much extra buffering journald maintains.
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 24fde00fbb3f..57b326d9c99c 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2779,8 +2786,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
*/
ep->skip = true;
xhci_dbg(xhci,
- "Miss service interval error for slot %u ep %u, set skip flag%s\n",
- slot_id, ep_index, ep_trb_dma ? ", skip now" : "");
+ "Miss service interval error for slot %u ep %u ep_trb_dma %llx, set skip flag\n",
+ slot_id, ep_index, ep_trb_dma);
break;
case COMP_NO_PING_RESPONSE_ERROR:
ep->skip = true;
next prev parent reply other threads:[~2026-07-23 6:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-21 22:10 Regression: webcam freezing since Linux 6.15 Bart Nagel
2026-07-22 22:22 ` Michal Pecio
2026-07-22 23:23 ` Bart Nagel
2026-07-23 6:14 ` Michal Pecio [this message]
2026-07-23 6:19 ` Michal Pecio
2026-07-23 21:02 ` Bart Nagel
2026-07-23 22:45 ` Bart Nagel
2026-07-22 23:30 ` Bart Nagel
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=20260723081440.0228c59e.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=bart@tremby.net \
--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 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.