]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net/mlx5e: Use read lock for eswitch get callbacks
authorLeon Romanovsky <leonro@nvidia.com>
Sun, 23 Oct 2022 16:52:16 +0000 (19:52 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 18 Jan 2023 18:34:09 +0000 (10:34 -0800)
In commit 367dfa121205 ("net/mlx5: Remove devl_unlock from
mlx5_eswtich_mode_callback_enter") all functions were converted
to use write lock without relation to their actual purpose.

Change the devlink eswitch getters to use read and not write locks.

Reviewed-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index 4eeb2dcbfc0f8d3d92a85f25c413f7d470a983e4..5fb9d5e997348cf89528a8b56cb84b6ec2ac3f52 100644 (file)
@@ -3572,9 +3572,9 @@ int mlx5_devlink_eswitch_mode_get(struct devlink *devlink, u16 *mode)
        if (IS_ERR(esw))
                return PTR_ERR(esw);
 
-       down_write(&esw->mode_lock);
+       down_read(&esw->mode_lock);
        err = esw_mode_to_devlink(esw->mode, mode);
-       up_write(&esw->mode_lock);
+       up_read(&esw->mode_lock);
        return err;
 }
 
@@ -3672,9 +3672,9 @@ int mlx5_devlink_eswitch_inline_mode_get(struct devlink *devlink, u8 *mode)
        if (IS_ERR(esw))
                return PTR_ERR(esw);
 
-       down_write(&esw->mode_lock);
+       down_read(&esw->mode_lock);
        err = esw_inline_mode_to_devlink(esw->offloads.inline_mode, mode);
-       up_write(&esw->mode_lock);
+       up_read(&esw->mode_lock);
        return err;
 }
 
@@ -3746,9 +3746,9 @@ int mlx5_devlink_eswitch_encap_mode_get(struct devlink *devlink,
        if (IS_ERR(esw))
                return PTR_ERR(esw);
 
-       down_write(&esw->mode_lock);
+       down_read(&esw->mode_lock);
        *encap = esw->offloads.encap;
-       up_write(&esw->mode_lock);
+       up_read(&esw->mode_lock);
        return 0;
 }