Thunderbolt 3 Dock, USB issues when undocking then docking
From: Juergen Stuber
Date: Tue Sep 07 2021 - 19:29:00 EST
Greetings!
In Linux versions 5.10-rc1 or newer (exact bisect see below) I have
issues when I undock and then dock my Thunderbolt 3 dock.
Afterwards I see
- log messages like "retire_capture_urb: 571 callbacks suppressed"
(always)
- audio glitches when playing audio via the dock on USB speakers
(almost always)
- keyboard events are lost on a dock-connected keyboard (sometimes)
I tested this by undocking, waiting a short while, then redocking, and
after that playing audio via USB speakers connected to the dock.
It seems to be deterministic, that is, in affected kernels it seems to
happen on every undock-dock cycle.
This is a Thinkpad T14 Gen1 Intel (20S0000HGE) and
a Thinkpad Thunderbolt 3 Dock Gen2 (40AN / SD20M70247),
the USB speakers are Logitech Z-10,
the distribution is Debian bullseye.
I bisected the issue, this pointed to the first bad commit
726eb70e0d34 Merge tag 'char-misc-5.10-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Since that was a big merge and thus not too helpful, I bisected the two
branches that were merged. That is, I bisected one branch and merged
into the head of the other branch and tested the merge.
On char-misc this pointed to
7c33e3c4c79a misc: rtsx: Add power saving functions and fix driving
parameter
The affected driver is in use for a device in my system:
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd.
RTS522A PCI Express Card Reader [10ec:522a] (rev 01)
Log output:
[ 1.179205] rtsx_pci 0000:02:00.0: enabling device (0000 -> 0002)
On the mainline side the bisect points to
edc649a82341 xhci: Tune interrupt blocking for isochronous transfers
I tried to revert each of these, but that was not easily possible.
RedHat has a bug report about this issue:
https://bugzilla.redhat.com/show_bug.cgi?id=1951372
Please ask if you need more info or testing.
Jürgen
--
Jürgen Stuber <juergen@xxxxxxxxxxx>
http://www.jstuber.net/