RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation
authorHamdan Igbaria <hamdani@nvidia.com>
Wed, 20 Sep 2023 10:01:55 +0000 (13:01 +0300)
committerLeon Romanovsky <leon@kernel.org>
Tue, 26 Sep 2023 09:29:40 +0000 (12:29 +0300)
The mutex was not unlocked on some of the error flows.
Moved the unlock location to include all the error flow scenarios.

Fixes: e1f4a52ac171 ("RDMA/mlx5: Create an indirect flow table for steering anchor")
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Hamdan Igbaria <hamdani@nvidia.com>
Link: https://lore.kernel.org/r/1244a69d783da997c0af0b827c622eb00495492e.1695203958.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/fs.c

index 1e419e0..520034a 100644 (file)
@@ -2470,8 +2470,8 @@ destroy_res:
        mlx5_steering_anchor_destroy_res(ft_prio);
 put_flow_table:
        put_flow_table(dev, ft_prio, true);
-       mutex_unlock(&dev->flow_db->lock);
 free_obj:
+       mutex_unlock(&dev->flow_db->lock);
        kfree(obj);
 
        return err;