net/mlx5: Lift reload limitation when SFs are present
authorJiri Pirko <jiri@nvidia.com>
Wed, 13 Sep 2023 07:12:34 +0000 (09:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Sep 2023 13:01:46 +0000 (14:01 +0100)
Historically, the shared devlink_mutex prevented devlink instances from
being registered/unregistered during another devlink instance reload
operation. However, devlink_muxex is gone for some time now, this
limitation is no longer needed. Lift it.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/devlink.c

index af8460bb257b93e21f556512014a974f0ddef63a..3e064234f6fe950273e16a80f31b365e3cad4865 100644 (file)
@@ -138,7 +138,6 @@ static int mlx5_devlink_reload_down(struct devlink *devlink, bool netns_change,
 {
        struct mlx5_core_dev *dev = devlink_priv(devlink);
        struct pci_dev *pdev = dev->pdev;
-       bool sf_dev_allocated;
        int ret = 0;
 
        if (mlx5_dev_is_lightweight(dev)) {
@@ -148,16 +147,6 @@ static int mlx5_devlink_reload_down(struct devlink *devlink, bool netns_change,
                return 0;
        }
 
-       sf_dev_allocated = mlx5_sf_dev_allocated(dev);
-       if (sf_dev_allocated) {
-               /* Reload results in deleting SF device which further results in
-                * unregistering devlink instance while holding devlink_mutext.
-                * Hence, do not support reload.
-                */
-               NL_SET_ERR_MSG_MOD(extack, "reload is unsupported when SFs are allocated");
-               return -EOPNOTSUPP;
-       }
-
        if (mlx5_lag_is_active(dev)) {
                NL_SET_ERR_MSG_MOD(extack, "reload is unsupported in Lag mode");
                return -EOPNOTSUPP;