]> git.dujemihanovic.xyz Git - linux.git/commitdiff
RDMA/mlx5: Remove extra unlock on error path
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 28 May 2024 12:52:52 +0000 (15:52 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 21 Jun 2024 13:19:36 +0000 (10:19 -0300)
The below commit lifted the locking out of this function but left this
error path unlock behind resulting in unbalanced locking. Remove the
missed unlock too.

Cc: stable@vger.kernel.org
Fixes: 627122280c87 ("RDMA/mlx5: Add work to remove temporary entries from the cache")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Link: https://lore.kernel.org/r/78090c210c750f47219b95248f9f782f34548bb1.1716900410.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/mr.c

index ecc111ed5d86eaf70b9ecd49968249a48b665cd9..38d2c743db877b3ff36e44ad389f4fa70dfb1809 100644 (file)
@@ -641,10 +641,8 @@ static int mlx5_cache_ent_insert(struct mlx5_mkey_cache *cache,
                        new = &((*new)->rb_left);
                if (cmp < 0)
                        new = &((*new)->rb_right);
-               if (cmp == 0) {
-                       mutex_unlock(&cache->rb_lock);
+               if (cmp == 0)
                        return -EEXIST;
-               }
        }
 
        /* Add new node and rebalance tree. */