PCIe tunnel path indices got mixed up when we added support for tunnels
between switches that are not adjacent. This did not affect the
functionality as it is just an index but fix it now nevertheless to make
the code easier to understand.

Reported-by: Rajmohan Mani <rajmohan.m...@intel.com>
Fixes: 8c7acaaf020f ("thunderbolt: Extend tunnel creation to more than 2 
adjacent switches")
Signed-off-by: Mika Westerberg <mika.westerb...@linux.intel.com>
Reviewed-by: Yehezkel Bernat <yehezkel...@gmail.com>
---
 drivers/thunderbolt/tunnel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/thunderbolt/tunnel.c b/drivers/thunderbolt/tunnel.c
index 31d0234837e4..5a99234826e7 100644
--- a/drivers/thunderbolt/tunnel.c
+++ b/drivers/thunderbolt/tunnel.c
@@ -211,7 +211,7 @@ struct tb_tunnel *tb_tunnel_alloc_pci(struct tb *tb, struct 
tb_port *up,
                return NULL;
        }
        tb_pci_init_path(path);
-       tunnel->paths[TB_PCI_PATH_UP] = path;
+       tunnel->paths[TB_PCI_PATH_DOWN] = path;
 
        path = tb_path_alloc(tb, up, TB_PCI_HOPID, down, TB_PCI_HOPID, 0,
                             "PCIe Up");
@@ -220,7 +220,7 @@ struct tb_tunnel *tb_tunnel_alloc_pci(struct tb *tb, struct 
tb_port *up,
                return NULL;
        }
        tb_pci_init_path(path);
-       tunnel->paths[TB_PCI_PATH_DOWN] = path;
+       tunnel->paths[TB_PCI_PATH_UP] = path;
 
        return tunnel;
 }
-- 
2.23.0.rc1

Reply via email to