RDMA/mlx5: Change the key being sent for MPV device affiliation
authorPatrisious Haddad <phaddad@nvidia.com>
Thu, 19 Oct 2023 08:47:05 +0000 (11:47 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2023 16:02:06 +0000 (17:02 +0100)
commit 02e7d139e5e24abb5fde91934fc9dc0344ac1926 upstream.

Change the key that we send from IB driver to EN driver regarding the
MPV device affiliation, since at that stage the IB device is not yet
initialized, so its index would be zero for different IB devices and
cause wrong associations between unrelated master and slave devices.

Instead use a unique value from inside the core device which is already
initialized at this stage.

Fixes: 0d293714ac32 ("RDMA/mlx5: Send events from IB driver about device affiliation state")
Signed-off-by: Patrisious Haddad <phaddad@nvidia.com>
Link: https://lore.kernel.org/r/ac7e66357d963fc68d7a419515180212c96d137d.1697705185.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/hw/mlx5/main.c

index 4c4233b..102ead4 100644 (file)
@@ -3263,7 +3263,7 @@ static bool mlx5_ib_bind_slave_port(struct mlx5_ib_dev *ibdev,
 
        mlx5_ib_init_cong_debugfs(ibdev, port_num);
 
-       key = ibdev->ib_dev.index;
+       key = mpi->mdev->priv.adev_idx;
        mlx5_core_mp_event_replay(mpi->mdev,
                                  MLX5_DRIVER_EVENT_AFFILIATION_DONE,
                                  &key);