mlxsw: spectrum_acl_tcam: Add missing mutex_destroy()
authorIdo Schimmel <idosch@nvidia.com>
Mon, 6 Feb 2023 15:39:19 +0000 (16:39 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 8 Feb 2023 04:18:49 +0000 (20:18 -0800)
Pair mutex_init() with a mutex_destroy() in the error path. Found during
code review. No functional changes.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c

index 3b9ba8fa247ab090b8add681789fa64c5a213a37..7cbfd34d02dea29db5bf71d0fe93e78236c8c667 100644 (file)
@@ -52,8 +52,10 @@ int mlxsw_sp_acl_tcam_init(struct mlxsw_sp *mlxsw_sp,
                max_regions = max_tcam_regions;
 
        tcam->used_regions = bitmap_zalloc(max_regions, GFP_KERNEL);
-       if (!tcam->used_regions)
-               return -ENOMEM;
+       if (!tcam->used_regions) {
+               err = -ENOMEM;
+               goto err_alloc_used_regions;
+       }
        tcam->max_regions = max_regions;
 
        max_groups = MLXSW_CORE_RES_GET(mlxsw_sp->core, ACL_MAX_GROUPS);
@@ -76,6 +78,8 @@ err_tcam_init:
        bitmap_free(tcam->used_groups);
 err_alloc_used_groups:
        bitmap_free(tcam->used_regions);
+err_alloc_used_regions:
+       mutex_destroy(&tcam->lock);
        return err;
 }