thunderbolt: Explicitly reset plug events delay back to USB4 spec value
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 21 Sep 2022 14:54:32 +0000 (09:54 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Oct 2022 08:39:36 +0000 (10:39 +0200)
commit 31f87f705b3c1635345d8e8a493697099b43e508 upstream.

If any software has interacted with the USB4 registers before the Linux
USB4 CM runs, it may have modified the plug events delay. It has been
observed that if this value too large, it's possible that hotplugged
devices will negotiate a fallback mode instead in Linux.

To prevent this, explicitly align the plug events delay with the USB4
spec value of 10ms.

Cc: stable@vger.kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/switch.c

index 3014146..50a5b16 100644 (file)
@@ -2281,6 +2281,7 @@ int tb_switch_configure(struct tb_switch *sw)
                 * additional capabilities.
                 */
                sw->config.cmuv = USB4_VERSION_1_0;
+               sw->config.plug_events_delay = 0xa;
 
                /* Enumerate the switch */
                ret = tb_sw_write(sw, (u32 *)&sw->config + 1, TB_CFG_SWITCH,