diff mbox series

thunderbolt: Fix connection issue with Pluggable UD-4VPD dock

Message ID 20241105085301.524312-1-mika.westerberg@linux.intel.com (mailing list archive)
State Superseded
Headers show
Series thunderbolt: Fix connection issue with Pluggable UD-4VPD dock | expand

Commit Message

Mika Westerberg Nov. 5, 2024, 8:53 a.m. UTC
Rick reported that his Pluggable USB4 dock does not work anymore after
6.6.28 kernel.

It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
access polling delay") makes the device router enumeration happen later
than what might be expected by the dock (although there is no such limit
in the USB4 spec) which probably makes it assume there is something
wrong with the high-speed link and reset it. After the link is reset the
same issue happens again and again.

For this reason lower the sideband access delay from 5ms to 1ms. This
seems to work fine according to Rick's testing.

Reported-by: Rick Lahaye <rick@581238.xyz>
Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
Tested-by: Rick Lahaye <rick@581238.xyz>
Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/thunderbolt/usb4.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg KH Nov. 5, 2024, 9:17 a.m. UTC | #1
On Tue, Nov 05, 2024 at 10:53:01AM +0200, Mika Westerberg wrote:
> Rick reported that his Pluggable USB4 dock does not work anymore after
> 6.6.28 kernel.
> 
> It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
> access polling delay") makes the device router enumeration happen later
> than what might be expected by the dock (although there is no such limit
> in the USB4 spec) which probably makes it assume there is something
> wrong with the high-speed link and reset it. After the link is reset the
> same issue happens again and again.
> 
> For this reason lower the sideband access delay from 5ms to 1ms. This
> seems to work fine according to Rick's testing.
> 
> Reported-by: Rick Lahaye <rick@581238.xyz>
> Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
> Tested-by: Rick Lahaye <rick@581238.xyz>
> Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")

This commit is not in the 6.6.y tree, it only showed up in 6.10.y, so
how does this resolve an issue in the 6.6.y tree?

confused,

greg k-h
Mika Westerberg Nov. 5, 2024, 9:24 a.m. UTC | #2
Hi Greg,

On Tue, Nov 05, 2024 at 10:17:43AM +0100, Greg KH wrote:
> On Tue, Nov 05, 2024 at 10:53:01AM +0200, Mika Westerberg wrote:
> > Rick reported that his Pluggable USB4 dock does not work anymore after
> > 6.6.28 kernel.
> > 
> > It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
> > access polling delay") makes the device router enumeration happen later
> > than what might be expected by the dock (although there is no such limit
> > in the USB4 spec) which probably makes it assume there is something
> > wrong with the high-speed link and reset it. After the link is reset the
> > same issue happens again and again.
> > 
> > For this reason lower the sideband access delay from 5ms to 1ms. This
> > seems to work fine according to Rick's testing.
> > 
> > Reported-by: Rick Lahaye <rick@581238.xyz>
> > Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
> > Tested-by: Rick Lahaye <rick@581238.xyz>
> > Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")
> 
> This commit is not in the 6.6.y tree, it only showed up in 6.10.y, so
> how does this resolve an issue in the 6.6.y tree?

This refers to a mainline commit that caused the issue. The 6.6.28 is
the kernel version Rick used where it still worked. In other words, this
is not a backport of a fix but a fix intented to the mainline ;-) I hope
this clarifies. I can adjust the commit message if needed.
Greg KH Nov. 5, 2024, 9:50 a.m. UTC | #3
On Tue, Nov 05, 2024 at 11:24:12AM +0200, Mika Westerberg wrote:
> Hi Greg,
> 
> On Tue, Nov 05, 2024 at 10:17:43AM +0100, Greg KH wrote:
> > On Tue, Nov 05, 2024 at 10:53:01AM +0200, Mika Westerberg wrote:
> > > Rick reported that his Pluggable USB4 dock does not work anymore after
> > > 6.6.28 kernel.
> > > 
> > > It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
> > > access polling delay") makes the device router enumeration happen later
> > > than what might be expected by the dock (although there is no such limit
> > > in the USB4 spec) which probably makes it assume there is something
> > > wrong with the high-speed link and reset it. After the link is reset the
> > > same issue happens again and again.
> > > 
> > > For this reason lower the sideband access delay from 5ms to 1ms. This
> > > seems to work fine according to Rick's testing.
> > > 
> > > Reported-by: Rick Lahaye <rick@581238.xyz>
> > > Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
> > > Tested-by: Rick Lahaye <rick@581238.xyz>
> > > Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")
> > 
> > This commit is not in the 6.6.y tree, it only showed up in 6.10.y, so
> > how does this resolve an issue in the 6.6.y tree?
> 
> This refers to a mainline commit that caused the issue. The 6.6.28 is
> the kernel version Rick used where it still worked. In other words, this
> is not a backport of a fix but a fix intented to the mainline ;-) I hope
> this clarifies. I can adjust the commit message if needed.

Ah, yeah, that is confusing so rewording it might be good as the
offending kernel is really 6.10, not 6.6.

Also, do you want me to take this in my tree now when you resend it, or
do you want to send it with other changes later?

thanks,

greg k-h
Mika Westerberg Nov. 5, 2024, 9:56 a.m. UTC | #4
On Tue, Nov 05, 2024 at 10:50:17AM +0100, Greg KH wrote:
> On Tue, Nov 05, 2024 at 11:24:12AM +0200, Mika Westerberg wrote:
> > Hi Greg,
> > 
> > On Tue, Nov 05, 2024 at 10:17:43AM +0100, Greg KH wrote:
> > > On Tue, Nov 05, 2024 at 10:53:01AM +0200, Mika Westerberg wrote:
> > > > Rick reported that his Pluggable USB4 dock does not work anymore after
> > > > 6.6.28 kernel.
> > > > 
> > > > It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
> > > > access polling delay") makes the device router enumeration happen later
> > > > than what might be expected by the dock (although there is no such limit
> > > > in the USB4 spec) which probably makes it assume there is something
> > > > wrong with the high-speed link and reset it. After the link is reset the
> > > > same issue happens again and again.
> > > > 
> > > > For this reason lower the sideband access delay from 5ms to 1ms. This
> > > > seems to work fine according to Rick's testing.
> > > > 
> > > > Reported-by: Rick Lahaye <rick@581238.xyz>
> > > > Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
> > > > Tested-by: Rick Lahaye <rick@581238.xyz>
> > > > Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")
> > > 
> > > This commit is not in the 6.6.y tree, it only showed up in 6.10.y, so
> > > how does this resolve an issue in the 6.6.y tree?
> > 
> > This refers to a mainline commit that caused the issue. The 6.6.28 is
> > the kernel version Rick used where it still worked. In other words, this
> > is not a backport of a fix but a fix intented to the mainline ;-) I hope
> > this clarifies. I can adjust the commit message if needed.
> 
> Ah, yeah, that is confusing so rewording it might be good as the
> offending kernel is really 6.10, not 6.6.

Okay will do!

> Also, do you want me to take this in my tree now when you resend it, or
> do you want to send it with other changes later?

I'll send it along with one more fix later this week if that's fine.
Greg KH Nov. 5, 2024, 10:05 a.m. UTC | #5
On Tue, Nov 05, 2024 at 11:56:38AM +0200, Mika Westerberg wrote:
> On Tue, Nov 05, 2024 at 10:50:17AM +0100, Greg KH wrote:
> > On Tue, Nov 05, 2024 at 11:24:12AM +0200, Mika Westerberg wrote:
> > > Hi Greg,
> > > 
> > > On Tue, Nov 05, 2024 at 10:17:43AM +0100, Greg KH wrote:
> > > > On Tue, Nov 05, 2024 at 10:53:01AM +0200, Mika Westerberg wrote:
> > > > > Rick reported that his Pluggable USB4 dock does not work anymore after
> > > > > 6.6.28 kernel.
> > > > > 
> > > > > It looks like commit c6ca1ac9f472 ("thunderbolt: Increase sideband
> > > > > access polling delay") makes the device router enumeration happen later
> > > > > than what might be expected by the dock (although there is no such limit
> > > > > in the USB4 spec) which probably makes it assume there is something
> > > > > wrong with the high-speed link and reset it. After the link is reset the
> > > > > same issue happens again and again.
> > > > > 
> > > > > For this reason lower the sideband access delay from 5ms to 1ms. This
> > > > > seems to work fine according to Rick's testing.
> > > > > 
> > > > > Reported-by: Rick Lahaye <rick@581238.xyz>
> > > > > Closes: https://lore.kernel.org/linux-usb/000f01db247b$d10e1520$732a3f60$@581238.xyz/
> > > > > Tested-by: Rick Lahaye <rick@581238.xyz>
> > > > > Fixes: c6ca1ac9f472 ("thunderbolt: Increase sideband access polling delay")
> > > > 
> > > > This commit is not in the 6.6.y tree, it only showed up in 6.10.y, so
> > > > how does this resolve an issue in the 6.6.y tree?
> > > 
> > > This refers to a mainline commit that caused the issue. The 6.6.28 is
> > > the kernel version Rick used where it still worked. In other words, this
> > > is not a backport of a fix but a fix intented to the mainline ;-) I hope
> > > this clarifies. I can adjust the commit message if needed.
> > 
> > Ah, yeah, that is confusing so rewording it might be good as the
> > offending kernel is really 6.10, not 6.6.
> 
> Okay will do!
> 
> > Also, do you want me to take this in my tree now when you resend it, or
> > do you want to send it with other changes later?
> 
> I'll send it along with one more fix later this week if that's fine.

Sure!
diff mbox series

Patch

diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c
index 0a9b4aeb3fa1..402fdf8b1cde 100644
--- a/drivers/thunderbolt/usb4.c
+++ b/drivers/thunderbolt/usb4.c
@@ -48,7 +48,7 @@  enum usb4_ba_index {
 
 /* Delays in us used with usb4_port_wait_for_bit() */
 #define USB4_PORT_DELAY			50
-#define USB4_PORT_SB_DELAY		5000
+#define USB4_PORT_SB_DELAY		1000
 
 static int usb4_native_switch_op(struct tb_switch *sw, u16 opcode,
 				 u32 *metadata, u8 *status,