]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/mlx5: Obtain upper net device only when needed
authorMark Bloch <mbloch@nvidia.com>
Mon, 9 Sep 2024 17:30:20 +0000 (20:30 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:33:12 +0000 (16:33 +0200)
[ 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

index 43660c831b22cf31bbd2e7c662a547b90832a7de..fdb0e62d805b9ad3e786394e77ea36ffc69fe410 100644 (file)
@@ -542,7 +542,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) {