thunderbolt: Fix port linking by checking all adapters
authorSanjay R Mehta <sanju.mehta@amd.com>
Tue, 3 Aug 2021 12:34:56 +0000 (07:34 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:27 +0000 (13:40 +0200)
[ Upstream commit 42716425ad7e1b6529ec61c260c11176841f4b5f ]

In tb_switch_default_link_ports(), while linking of ports,
only odd-numbered ports (1,3,5..) are considered and even-numbered
ports are not considered.

AMD host router has lane adapters at 2 and 3 and link ports at adapter 2
is not considered due to which lane bonding gets disabled.

Hence added a fix such that all ports are considered during
linking of ports.

Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/thunderbolt/switch.c

index 9a272a516b2d7f5061824fe5bb16005697d9cc11..c4b157c29af7a29dd23976b2a0959f8770d03910 100644 (file)
@@ -2204,7 +2204,7 @@ static void tb_switch_default_link_ports(struct tb_switch *sw)
 {
        int i;
 
-       for (i = 1; i <= sw->config.max_port_number; i += 2) {
+       for (i = 1; i <= sw->config.max_port_number; i++) {
                struct tb_port *port = &sw->ports[i];
                struct tb_port *subordinate;