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