thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default()
[ 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: 54509f5005
("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>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
36f60700f9
commit
2abfa52947
@@ -259,14 +259,14 @@ static struct tb_switch *alloc_dev_default(struct kunit *test,
|
|||||||
if (port->dual_link_port && upstream_port->dual_link_port) {
|
if (port->dual_link_port && upstream_port->dual_link_port) {
|
||||||
port->dual_link_port->remote = 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;
|
upstream_port->dual_link_port->remote = port->dual_link_port;
|
||||||
}
|
|
||||||
|
|
||||||
if (bonded) {
|
if (bonded) {
|
||||||
/* Bonding is used */
|
/* Bonding is used */
|
||||||
port->bonded = true;
|
port->bonded = true;
|
||||||
port->dual_link_port->bonded = true;
|
port->dual_link_port->bonded = true;
|
||||||
upstream_port->bonded = true;
|
upstream_port->bonded = true;
|
||||||
upstream_port->dual_link_port->bonded = true;
|
upstream_port->dual_link_port->bonded = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sw;
|
return sw;
|
||||||
|
Reference in New Issue
Block a user