thunderbolt: Restart XDomain discovery handshake after failure
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 7 Sep 2023 13:02:30 +0000 (16:02 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 15 Sep 2023 10:01:18 +0000 (13:01 +0300)
commit308092d080852f8997126e5b3507536162416f4a
treeb3c6ee6c869d60ebd9dd9110af75529a2adc158a
parente19f714ea63f861d95d3d92d45d5fd5ca2e05c8c
thunderbolt: Restart XDomain discovery handshake after failure

Alex reported that after rebooting the other host the peer-to-peer link
does not come up anymore. The reason for this is that the host that was
not rebooted tries to send the UUID request only 10 times according to
the USB4 Inter-Domain spec and gives up if it does not get reply. Then
when the other side is actually ready it cannot get the link established
anymore. The USB4 Inter-Domain spec requires that the discovery protocol
is restarted in that case so implement this now.

Reported-by: Alex Balcanquall <alex@alexbal.com>
Fixes: 8e1de7042596 ("thunderbolt: Add support for XDomain lane bonding")
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/xdomain.c