Hi,
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Thanks a lot
Fabian
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
Hi Greg,
I can reproduce the issue with the upstream Linux kernel: I compiled 6.6.28 and 6.6.29 from source: 6.6.28 works, 6.6.29 doesn't.
I'll learn how to do 'git bisect' to narrow it down to the offending commit.
The non-lts kernel is also broken.
Fabian
On Mon, Sep 23, 2024 at 8:45 AM Greg KH gregkh@linuxfoundation.org wrote:
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
Hi,
sorry for the delay, I ran git bisect, here's the output. If you need any additional info please let me know.
3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 is the first bad commit commit 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 (HEAD) Author: Sanath S Sanath.S@amd.com Date: Sat Jan 13 10:52:48 2024
thunderbolt: Reset topology created by the boot firmware
commit 59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c upstream.
Boot firmware (typically BIOS) might have created tunnels of its own. The tunnel configuration that it does might be sub-optimal. For instance it may only support HBR2 monitors so the DisplayPort tunnels it created may limit Linux graphics drivers. In addition there is an issue on some AMD based systems where the BIOS does not allocate enough PCIe resources for future topology extension. By resetting the USB4 topology the PCIe links will be reset as well allowing Linux to re-allocate.
This aligns the behavior with Windows Connection Manager.
We already issued host router reset for USB4 v2 routers, now extend it to USB4 v1 routers as well. For pre-USB4 (that's Apple systems) we leave it as is and continue to discover the existing tunnels.
Suggested-by: Mario Limonciello mario.limonciello@amd.com Signed-off-by: Sanath S Sanath.S@amd.com Signed-off-by: Mika Westerberg mika.westerberg@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/thunderbolt/domain.c | 5 +++-- drivers/thunderbolt/icm.c | 2 +- drivers/thunderbolt/nhi.c | 19 +++++++++++++------ drivers/thunderbolt/tb.c | 26 +++++++++++++++++++------- drivers/thunderbolt/tb.h | 4 ++-- 5 files changed, 38 insertions(+), 18 deletions(-)
On Tue, Sep 24, 2024 at 8:58 AM Fabian Stäber fabian@fstab.de wrote:
Hi Greg,
I can reproduce the issue with the upstream Linux kernel: I compiled 6.6.28 and 6.6.29 from source: 6.6.28 works, 6.6.29 doesn't.
I'll learn how to do 'git bisect' to narrow it down to the offending commit.
The non-lts kernel is also broken.
Fabian
On Mon, Sep 23, 2024 at 8:45 AM Greg KH gregkh@linuxfoundation.org wrote:
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
On 07.10.24 18:49, Fabian Stäber wrote:
sorry for the delay, I ran git bisect, here's the output. If you need any additional info please let me know.
Many thx, I CCed those that authored and handled the change. But there is one thing that is not really clear to me.
Earlier you wrote: "The non-lts kernel is also broken." -- which version exactly did you mean here? But whatever version it was: if you haven't tried 6.12-rc1 or 6.12-rc2, it would be best if you could check and report back if that's affected as well.
Ciao, Thorsten
3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 is the first bad commit commit 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 (HEAD) Author: Sanath S Sanath.S@amd.com Date: Sat Jan 13 10:52:48 2024
thunderbolt: Reset topology created by the boot firmware commit 59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c upstream. Boot firmware (typically BIOS) might have created tunnels of its own. The tunnel configuration that it does might be sub-optimal. For instance it may only support HBR2 monitors so the DisplayPort tunnels it created may limit Linux graphics drivers. In addition there is an issue on some AMD based systems where the BIOS does not allocate enough PCIe resources for future topology extension. By resetting the USB4 topology the PCIe links will be reset as well allowing Linux to re-allocate. This aligns the behavior with Windows Connection Manager. We already issued host router reset for USB4 v2 routers, now extend it to USB4 v1 routers as well. For pre-USB4 (that's Apple systems) we leave it as is and continue to discover the existing tunnels. Suggested-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Sanath S <Sanath.S@amd.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/domain.c | 5 +++-- drivers/thunderbolt/icm.c | 2 +- drivers/thunderbolt/nhi.c | 19 +++++++++++++------ drivers/thunderbolt/tb.c | 26 +++++++++++++++++++------- drivers/thunderbolt/tb.h | 4 ++-- 5 files changed, 38 insertions(+), 18 deletions(-)
On Tue, Sep 24, 2024 at 8:58 AM Fabian Stäber fabian@fstab.de wrote:
Hi Greg,
I can reproduce the issue with the upstream Linux kernel: I compiled 6.6.28 and 6.6.29 from source: 6.6.28 works, 6.6.29 doesn't.
I'll learn how to do 'git bisect' to narrow it down to the offending commit.
The non-lts kernel is also broken.
Fabian
On Mon, Sep 23, 2024 at 8:45 AM Greg KH gregkh@linuxfoundation.org wrote:
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
#regzbot introduced: 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55
On 24/10/07 06:49PM, Fabian Stäber wrote:
Hi,
Hey Fabian,
sorry for the delay, I ran git bisect, here's the output. If you need any additional info please let me know.
3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 is the first bad commit commit 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 (HEAD) Author: Sanath S Sanath.S@amd.com Date: Sat Jan 13 10:52:48 2024
thunderbolt: Reset topology created by the boot firmware commit 59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c upstream.
So there is a commit c67f926ec870 ("thunderbolt: Reset only non-USB4 host routers in resume") that carries a fixes tag for the commit that you have bisected to. The commits should both be in v6.6.29 and onwards, so in the same release that's causing you problems. Maybe the fix is incomplete or has a missing dependency 🤔
[...] Suggested-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Sanath S <Sanath.S@amd.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
I have added Mika, Mario and Sanath to the recipients, maybe they have inputs on what would be useful debugging output.
In the meantime maybe also test if the issue is present with the latest stable kernel ("linux" in the Arch packages) and with the latest release candidate (you can find a precompiled version [here][0].
Cheers, Chris
[0]: https://pkgbuild.com/%5C~gromit/linux-bisection-kernels/linux-mainline-6.12r...
drivers/thunderbolt/domain.c | 5 +++-- drivers/thunderbolt/icm.c | 2 +- drivers/thunderbolt/nhi.c | 19 +++++++++++++------ drivers/thunderbolt/tb.c | 26 +++++++++++++++++++------- drivers/thunderbolt/tb.h | 4 ++-- 5 files changed, 38 insertions(+), 18 deletions(-)
On Tue, Sep 24, 2024 at 8:58 AM Fabian Stäber fabian@fstab.de wrote:
Hi Greg,
I can reproduce the issue with the upstream Linux kernel: I compiled 6.6.28 and 6.6.29 from source: 6.6.28 works, 6.6.29 doesn't.
I'll learn how to do 'git bisect' to narrow it down to the offending commit.
The non-lts kernel is also broken.
Fabian
On Mon, Sep 23, 2024 at 8:45 AM Greg KH gregkh@linuxfoundation.org wrote:
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
On 10/7/2024 12:21, Christian Heusel wrote:
On 24/10/07 06:49PM, Fabian Stäber wrote:
Hi,
Hey Fabian,
sorry for the delay, I ran git bisect, here's the output. If you need any additional info please let me know.
3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 is the first bad commit commit 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 (HEAD) Author: Sanath S Sanath.S@amd.com Date: Sat Jan 13 10:52:48 2024
thunderbolt: Reset topology created by the boot firmware commit 59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c upstream.
So there is a commit c67f926ec870 ("thunderbolt: Reset only non-USB4 host routers in resume") that carries a fixes tag for the commit that you have bisected to. The commits should both be in v6.6.29 and onwards, so in the same release that's causing you problems. Maybe the fix is incomplete or has a missing dependency 🤔
You mean mainline commit 8cf9926c537c ("thunderbolt: Reset only non-USB4 host routers in resume").
[...] Suggested-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Sanath S <Sanath.S@amd.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
I have added Mika, Mario and Sanath to the recipients, maybe they have inputs on what would be useful debugging output.
In the meantime maybe also test if the issue is present with the latest stable kernel ("linux" in the Arch packages) and with the latest release candidate (you can find a precompiled version [here][0].
To double confirm, does thunderbolt.host_reset=0 on the kernel command line help your issue? Based on the bisect I would expect it should help. Yes; comments on both 6.6.y as well as 6.12-rc2 would be ideal.
Also assuming it helps can you please post your dmesg from 6.12-rc2 both with thunderbolt.host_reset=0 and without? A github gist or a new kernel bugzilla are good places to post it.
Cheers, Chris
drivers/thunderbolt/domain.c | 5 +++-- drivers/thunderbolt/icm.c | 2 +- drivers/thunderbolt/nhi.c | 19 +++++++++++++------ drivers/thunderbolt/tb.c | 26 +++++++++++++++++++------- drivers/thunderbolt/tb.h | 4 ++-- 5 files changed, 38 insertions(+), 18 deletions(-)
On Tue, Sep 24, 2024 at 8:58 AM Fabian Stäber fabian@fstab.de wrote:
Hi Greg,
I can reproduce the issue with the upstream Linux kernel: I compiled 6.6.28 and 6.6.29 from source: 6.6.28 works, 6.6.29 doesn't.
I'll learn how to do 'git bisect' to narrow it down to the offending commit.
The non-lts kernel is also broken.
Fabian
On Mon, Sep 23, 2024 at 8:45 AM Greg KH gregkh@linuxfoundation.org wrote:
On Mon, Sep 23, 2024 at 08:34:23AM +0200, Fabian Stäber wrote:
Hi,
Adding the linux-usb list.
I got a Dell WD19TBS Thunderbolt Dock, and it has been working with Linux for years without issues. However, updating to linux-lts-6.6.29-1 or newer breaks the USB ports on my Dock. Using the latest non-LTS kernel doesn't help, it also breaks the USB ports.
Downgrading the kernel to linux-lts-6.6.28-1 works. This is the last working version.
I opened a thread on the Arch Linux forum https://bbs.archlinux.org/viewtopic.php?id=299604 with some dmesg output. However, it sounds like this is a regression in the Linux kernel, so I'm posting this here as well.
Let me know if you need any more info.
Is there any way you can use 'git bisect' to test inbetween kernel versions/commits to find the offending change?
Does the non-lts arch kernel work properly?
thanks,
greg k-h
On Mon, Oct 07, 2024 at 12:33:54PM -0500, Mario Limonciello wrote:
On 10/7/2024 12:21, Christian Heusel wrote:
On 24/10/07 06:49PM, Fabian Stäber wrote:
Hi,
Hey Fabian,
sorry for the delay, I ran git bisect, here's the output. If you need any additional info please let me know.
3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 is the first bad commit commit 3c1d704d9266741fc5a9a0a287a5c6b72ddbea55 (HEAD) Author: Sanath S Sanath.S@amd.com Date: Sat Jan 13 10:52:48 2024
thunderbolt: Reset topology created by the boot firmware commit 59a54c5f3dbde00b8ad30aef27fe35b1fe07bf5c upstream.
So there is a commit c67f926ec870 ("thunderbolt: Reset only non-USB4 host routers in resume") that carries a fixes tag for the commit that you have bisected to. The commits should both be in v6.6.29 and onwards, so in the same release that's causing you problems. Maybe the fix is incomplete or has a missing dependency 🤔
You mean mainline commit 8cf9926c537c ("thunderbolt: Reset only non-USB4 host routers in resume").
[...] Suggested-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Sanath S <Sanath.S@amd.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
I have added Mika, Mario and Sanath to the recipients, maybe they have inputs on what would be useful debugging output.
In the meantime maybe also test if the issue is present with the latest stable kernel ("linux" in the Arch packages) and with the latest release candidate (you can find a precompiled version [here][0].
To double confirm, does thunderbolt.host_reset=0 on the kernel command line help your issue? Based on the bisect I would expect it should help. Yes; comments on both 6.6.y as well as 6.12-rc2 would be ideal.
Also assuming it helps can you please post your dmesg from 6.12-rc2 both with thunderbolt.host_reset=0 and without? A github gist or a new kernel bugzilla are good places to post it.
Also to understand the flow, you are booting with the dock connected right?
Can you see also what:
$ boltctl
outputs (after you have booted up, and the problem is reproduced)? It should list the dock and show it as "authorized" but I'm not familiar with Arch Linux so it could be that they are not using bolt and that explains why things do not appear working as nobody is going to re-create that PCIe tunnel that was torn down during host router reset.
linux-stable-mirror@lists.linaro.org