diff mbox series

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

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

Commit Message

Mika Westerberg Nov. 5, 2024, 10:31 a.m. UTC
Rick reported that his Pluggable USB4 dock does not work anymore after
upgrading to v6.10 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>
---
v1: https://lore.kernel.org/linux-usb/20241105085301.524312-1-mika.westerberg@linux.intel.com/

Changes from v1:
  *  Reword the commit message to use mainline kernel version (v6.10)
     instead.

 drivers/thunderbolt/usb4.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg Kroah-Hartman Nov. 5, 2024, 10:54 a.m. UTC | #1
On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
> Rick reported that his Pluggable USB4 dock does not work anymore after
> upgrading to v6.10 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>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mika Westerberg Nov. 5, 2024, 2:02 p.m. UTC | #2
On Tue, Nov 05, 2024 at 11:54:55AM +0100, Greg KH wrote:
> On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
> > Rick reported that his Pluggable USB4 dock does not work anymore after
> > upgrading to v6.10 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>
> 
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Thanks!

Applied to thunderbolt.git/fixes.
Mario Limonciello Nov. 5, 2024, 2:21 p.m. UTC | #3
On 11/5/2024 08:02, Mika Westerberg wrote:
> On Tue, Nov 05, 2024 at 11:54:55AM +0100, Greg KH wrote:
>> On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
>>> Rick reported that his Pluggable USB4 dock does not work anymore after
>>> upgrading to v6.10 kernel.

If I'm not mistaken Rick was talking about a Dell WD19TB dock which is 
TBT3, not a Pluggable USB4 dock.

Nonetheless I wouldn't be surprised if other docks and devices have 
problems.

We have an internal report at AMD of something similar happening with 
TBT3 storage devices.  After this lands I'll ask that team that reported 
it to see if it helped them too.

>>>
>>> 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>
>>
>> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 

> Thanks!
> 
> Applied to thunderbolt.git/fixes.

I'm a few hours late to the party, but if you update the commit message 
for my above comment feel free to add my tag too.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Rick Nov. 5, 2024, 2:25 p.m. UTC | #4
Hi Mario,

On 05-11-2024 15:21, Mario Limonciello wrote:
> On 11/5/2024 08:02, Mika Westerberg wrote:
>> On Tue, Nov 05, 2024 at 11:54:55AM +0100, Greg KH wrote:
>>> On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
>>>> Rick reported that his Pluggable USB4 dock does not work anymore after
>>>> upgrading to v6.10 kernel.
> 
> If I'm not mistaken Rick was talking about a Dell WD19TB dock which is 
> TBT3, not a Pluggable USB4 dock.
> 

To prevent any confusion; I don't own any Dell WD19TB dock. I had these 
issues with the UD-4VPD dock.

> Nonetheless I wouldn't be surprised if other docks and devices have 
> problems.
> 
> We have an internal report at AMD of something similar happening with 
> TBT3 storage devices.  After this lands I'll ask that team that reported 
> it to see if it helped them too.
> 
>>>>
>>>> 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>
>>>
>>> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>
> 
>> Thanks!
>>
>> Applied to thunderbolt.git/fixes.
> 
> I'm a few hours late to the party, but if you update the commit message 
> for my above comment feel free to add my tag too.
> 
> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
> 

Kind regards,
Rick Lahaye
Mika Westerberg Nov. 5, 2024, 2:29 p.m. UTC | #5
On Tue, Nov 05, 2024 at 08:21:50AM -0600, Mario Limonciello wrote:
> On 11/5/2024 08:02, Mika Westerberg wrote:
> > On Tue, Nov 05, 2024 at 11:54:55AM +0100, Greg KH wrote:
> > > On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
> > > > Rick reported that his Pluggable USB4 dock does not work anymore after
> > > > upgrading to v6.10 kernel.
> 
> If I'm not mistaken Rick was talking about a Dell WD19TB dock which is TBT3,
> not a Pluggable USB4 dock.

It is Pluggable device but the report started with Dell WD19TB from
another reporter (they should be CC'd).

> Nonetheless I wouldn't be surprised if other docks and devices have
> problems.
> 
> We have an internal report at AMD of something similar happening with TBT3
> storage devices.  After this lands I'll ask that team that reported it to
> see if it helped them too.

I would not expect Intel device routers to fail here we have not noticed
any issues even with the commit. Pluggable has their own device router
IP (or at least not ours) and that kind of behaves differently.

> > > > 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>
> > > 
> > > Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > 
> 
> > Thanks!
> > 
> > Applied to thunderbolt.git/fixes.
> 
> I'm a few hours late to the party, but if you update the commit message for
> my above comment feel free to add my tag too.
> 
> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>

Sure, I'll add that thanks!
Mario Limonciello Nov. 5, 2024, 2:29 p.m. UTC | #6
On 11/5/2024 08:25, Rick wrote:
> Hi Mario,
> 
> On 05-11-2024 15:21, Mario Limonciello wrote:
>> On 11/5/2024 08:02, Mika Westerberg wrote:
>>> On Tue, Nov 05, 2024 at 11:54:55AM +0100, Greg KH wrote:
>>>> On Tue, Nov 05, 2024 at 12:31:57PM +0200, Mika Westerberg wrote:
>>>>> Rick reported that his Pluggable USB4 dock does not work anymore after
>>>>> upgrading to v6.10 kernel.
>>
>> If I'm not mistaken Rick was talking about a Dell WD19TB dock which is 
>> TBT3, not a Pluggable USB4 dock.
>>
> 
> To prevent any confusion; I don't own any Dell WD19TB dock. I had these 
> issues with the UD-4VPD dock.

Oh!  I see, you were saying a "me too" to the thread which was about 
WD19TB.  Thanks for clarifying.

> 
>> Nonetheless I wouldn't be surprised if other docks and devices have 
>> problems.
>>
>> We have an internal report at AMD of something similar happening with 
>> TBT3 storage devices.  After this lands I'll ask that team that 
>> reported it to see if it helped them too.
>>
>>>>>
>>>>> 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>
>>>>
>>>> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>>
>>
>>> Thanks!
>>>
>>> Applied to thunderbolt.git/fixes.
>>
>> I'm a few hours late to the party, but if you update the commit 
>> message for my above comment feel free to add my tag too.
>>
>> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
>>
> 
> Kind regards,
> Rick Lahaye
> 
>
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,