Re: [PATCH] thunderbolt: Disable CL states for the Anker Prime TB5 dock

From: Mika Westerberg

Date: Thu Sep 24 2026 - 09:10:08 EST


Hi,

On Thu, Sep 24, 2026 at 12:26:37PM +0000, Kurt Lieber wrote:
> The Anker Prime TB5 dock identifies itself in the DROM as 01ea:83b5.
> Its router config space is an Intel Barlow Ridge 80G hub (8087:5786).
> The upstream lane adapter advertises CL0s, CL1, and CL2. With CLx left
> enabled, TMU uni-directional LowRes setup fails with -ENOTCONN, the USB3
> and DisplayPort tunnels are aborted, and the router reconnects in a loop.
> Loading thunderbolt with clx=0 keeps the link up on this machine.

Hmm, I missed that it's Barlow Ridge. That should definitely support CL
states. I have one here and it for sure works.

What's the NVM version can you check? It could be that some older ones have
issues.

> Match the DROM id together with the Barlow Ridge hub id and disable CL
> states for this dock only. QUIRK_NO_CLX takes the same early-out as the
> module parameter, without disabling CLx for every other router.
>
> Assisted-by: LLM
> Signed-off-by: Kurt Lieber <kurt@xxxxxxxxxx>
> ---
> Runtime-tested on linux-omarchy 7.2.5-3 (LG Gram 17Z90S, Meteor Lake).
> Booted with thunderbolt.clx left at the default (Y). The dock came up
> once, CL0s/CL1/CL2 Enable stayed 0 while the support bits stayed 1, the
> link stayed in CL0 at 40 Gb/s, and the TMU uni-directional reconnect
> loop did not occur.
>
> drivers/thunderbolt/quirks.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/thunderbolt/quirks.c b/drivers/thunderbolt/quirks.c
> --- a/drivers/thunderbolt/quirks.c
> +++ b/drivers/thunderbolt/quirks.c
> @@ -116,2 +116,5 @@
> { 0x0438, 0x020b, 0x0000, 0x0000, quirk_clx_disable },
> + /* CLx is unstable on the Anker Prime TB5 dock (DROM 01ea:83b5). */
> + { 0x8087, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HUB_80G_BRIDGE, 0x01ea, 0x83b5,
> + quirk_clx_disable },
> };