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 3014146081c19f61c121fd321f807b166d6ca77e..50a5b160ccde2ef26c6209fe11d9ee2f04f178bc 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,