| From feffbcba72c8889ef296d194f9ec409a2a901d38 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 9 Sep 2024 20:30:20 +0300 |
| Subject: RDMA/mlx5: Obtain upper net device only when needed |
| |
| From: Mark Bloch <mbloch@nvidia.com> |
| |
| [ Upstream commit 3ed7f9e239938a0cfaf3689e2f545229ecabec06 ] |
| |
| Report the upper device's state as the RDMA port state only in RoCE LAG or |
| switchdev LAG. |
| |
| Fixes: 27f9e0ccb6da ("net/mlx5: Lag, Add single RDMA device in multiport mode") |
| Signed-off-by: Mark Bloch <mbloch@nvidia.com> |
| Signed-off-by: Michael Guralnik <michaelgur@nvidia.com> |
| Link: https://patch.msgid.link/20240909173025.30422-3-michaelgur@nvidia.com |
| Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
| Signed-off-by: Leon Romanovsky <leon@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/hw/mlx5/main.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c |
| index 6048b9ad13bb4..5926fd07a6021 100644 |
| --- a/drivers/infiniband/hw/mlx5/main.c |
| +++ b/drivers/infiniband/hw/mlx5/main.c |
| @@ -550,7 +550,7 @@ static int mlx5_query_port_roce(struct ib_device *device, u32 port_num, |
| if (!ndev) |
| goto out; |
| |
| - if (dev->lag_active) { |
| + if (mlx5_lag_is_roce(mdev) || mlx5_lag_is_sriov(mdev)) { |
| rcu_read_lock(); |
| upper = netdev_master_upper_dev_get_rcu(ndev); |
| if (upper) { |
| -- |
| 2.43.0 |
| |