From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Kurt Lieber <kurt@lieber.org>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"andreas.noever@gmail.com" <andreas.noever@gmail.com>,
"westeri@kernel.org" <westeri@kernel.org>,
"YehezkelShB@gmail.com" <YehezkelShB@gmail.com>
Subject: Re: [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock
Date: Mon, 28 Sep 2026 11:25:17 +0200 [thread overview]
Message-ID: <20260928092517.GE106095@black.igk.intel.com> (raw)
In-Reply-To: <SJ0PR15MB46961EF9154F8795B63E66C7A38F2@SJ0PR15MB4696.namprd15.prod.outlook.com>
Hi,
On Sat, Sep 26, 2026 at 11:37:09AM +0000, Kurt Lieber wrote:
> Hi -
>
> On Sat, Sep 26, 2026 at 10:27:14AM +0000, Mika Westerberg wrote:
>
> > This is the smoking gun! Thanks for taking the dump from the other side as
> > well. CM guide actually says we cannot enable CL states if this bit is not
> > set. Can you try the below patch (without clx=0)?
>
> The patch works here with thunderbolt.clx left at Y.
>
> linux-omarchy 7.2.5-4. I built your change into the 7.2.5
> thunderbolt module (usb4_port_clx_supported requires both
> PORT_CS_18_CPS and PORT_CS_18_CSC; the function tests mask
> 0x800400) and loaded that module with the clx=0 option not
> applied. The Anker Prime (DROM 01ea:83b5, NVM 62.2) disconnected
> when the old module unloaded, then came back once:
>
> thunderbolt 0-3: new device found, vendor=0x1ea device=0x83b5
> thunderbolt 0-3: Anker Prime Docking Station (14-in-1, 8K, Thunderbolt 5)
>
> It stayed authorized at 40 Gb/s (2 x 20 Gb/s). For the next 15
> seconds dmesg had no "TMU: failed to enable mode uni-directional,
> LowRes: -107" and no further thunderbolt disconnect. The dock USB
> devices enumerated and stayed.
>
> So the patch is successful, I believe. Thank you for puzzling through it. Let me know if there's anything else I can do on my end. Cheers!
Thanks for testing! I realized now that the host side shows the CSC bit 0
because that was added in USB4 v2 so the v1 host does not know about that
bit and that's why we see different values between the ends. So the cable
supports it, the host supports it and the dock (well BR) should support too
but we don't know if there is something in the Anker firmwares like the
PD/retimer that could have issues with CL states.
I'm going to apply your quirk instead.
next prev parent reply other threads:[~2026-09-28 9:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 7:18 [BUG] thunderbolt: Anker Prime TB5 (1ea:83b5) reconnect-loops on Meteor Lake (8086:7ec3) unless clx=0 Kurt Lieber
2026-09-24 7:35 ` Mika Westerberg
2026-09-24 7:57 ` Kurt Lieber
2026-09-24 10:10 ` Mika Westerberg
2026-09-24 12:26 ` [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock Kurt Lieber
2026-09-24 12:57 ` Mika Westerberg
2026-09-24 13:33 ` Kurt Lieber
2026-09-24 14:54 ` Mika Westerberg
2026-09-25 0:02 ` Kurt Lieber
2026-09-25 5:01 ` Mika Westerberg
2026-09-26 7:02 ` Kurt Lieber
2026-09-26 10:27 ` Mika Westerberg
2026-09-26 11:37 ` Kurt Lieber
2026-09-28 9:25 ` Mika Westerberg [this message]
2026-09-28 9:36 ` Mika Westerberg
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=20260928092517.GE106095@black.igk.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=YehezkelShB@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=kurt@lieber.org \
--cc=linux-usb@vger.kernel.org \
--cc=westeri@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