| From 99d3025edd24415aa933b99701d9d8e0f4971221 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Jun 2021 13:37:46 +0300 |
| Subject: thunderbolt: Bond lanes only when dual_link_port != NULL in |
| alloc_dev_default() |
| |
| From: Mika Westerberg <mika.westerberg@linux.intel.com> |
| |
| [ Upstream commit a0d36fa1065901f939b04587a09c65303a64ac88 ] |
| |
| We should not dereference ->dual_link_port if it is NULL and lane bonding |
| is requested. For this reason move lane bonding configuration happen |
| inside the block where ->dual_link_port != NULL. |
| |
| Fixes: 54509f5005ca ("thunderbolt: Add KUnit tests for path walking") |
| Reported-by: kernel test robot <lkp@intel.com> |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Reviewed-by: Yehezkel Bernat <YehezkelShB@gmail.com> |
| Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/thunderbolt/test.c | 14 +++++++------- |
| 1 file changed, 7 insertions(+), 7 deletions(-) |
| |
| diff --git a/drivers/thunderbolt/test.c b/drivers/thunderbolt/test.c |
| index 464c2d37b992..e254f8c37cb7 100644 |
| --- a/drivers/thunderbolt/test.c |
| +++ b/drivers/thunderbolt/test.c |
| @@ -259,14 +259,14 @@ static struct tb_switch *alloc_dev_default(struct kunit *test, |
| if (port->dual_link_port && upstream_port->dual_link_port) { |
| port->dual_link_port->remote = upstream_port->dual_link_port; |
| upstream_port->dual_link_port->remote = port->dual_link_port; |
| - } |
| |
| - if (bonded) { |
| - /* Bonding is used */ |
| - port->bonded = true; |
| - port->dual_link_port->bonded = true; |
| - upstream_port->bonded = true; |
| - upstream_port->dual_link_port->bonded = true; |
| + if (bonded) { |
| + /* Bonding is used */ |
| + port->bonded = true; |
| + port->dual_link_port->bonded = true; |
| + upstream_port->bonded = true; |
| + upstream_port->dual_link_port->bonded = true; |
| + } |
| } |
| |
| return sw; |
| -- |
| 2.30.2 |
| |