]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/mlx5: Adding remote atomic access flag to updatable flags
authorOr Har-Toov <ohartoov@nvidia.com>
Wed, 3 Apr 2024 10:36:01 +0000 (13:36 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:39:30 +0000 (13:39 +0200)
[ Upstream commit 2ca7e93bc963d9ec2f5c24d117176851454967af ]

Currently IB_ACCESS_REMOTE_ATOMIC is blocked from being updated via UMR
although in some cases it should be possible. These cases are checked in
mlx5r_umr_can_reconfig function.

Fixes: ef3642c4f54d ("RDMA/mlx5: Fix error unwinds for rereg_mr")
Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Link: https://lore.kernel.org/r/24dac73e2fa48cb806f33a932d97f3e402a5ea2c.1712140377.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx5/mr.c

index cf203f879d340e8dbb3a245839689d45637b3dcd..191078b6e91293fc97d5b749d52b333795b8daed 100644 (file)
@@ -1687,7 +1687,8 @@ static bool can_use_umr_rereg_access(struct mlx5_ib_dev *dev,
        unsigned int diffs = current_access_flags ^ target_access_flags;
 
        if (diffs & ~(IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE |
-                     IB_ACCESS_REMOTE_READ | IB_ACCESS_RELAXED_ORDERING))
+                     IB_ACCESS_REMOTE_READ | IB_ACCESS_RELAXED_ORDERING |
+                     IB_ACCESS_REMOTE_ATOMIC))
                return false;
        return mlx5_ib_can_reconfig_with_umr(dev, current_access_flags,
                                             target_access_flags);