Skip to content

Commit

Permalink
net/mlx5: Move devlink registration before mlx5_load
Browse files Browse the repository at this point in the history
In order to allow reference to devlink parameters during driver load,
move the devlink registration before mlx5_load. Subsequent patch will
use it to control the number of completion vectors required based on
whether eth is enabled or not.

Signed-off-by: Eli Cohen <elic@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
  • Loading branch information
Eli Cohen authored and Saeed Mahameed committed Mar 24, 2023
1 parent 3354822 commit fe578cb
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions drivers/net/ethernet/mellanox/mlx5/core/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1399,16 +1399,16 @@ int mlx5_init_one(struct mlx5_core_dev *dev)
goto function_teardown;
}

err = mlx5_devlink_params_register(priv_to_devlink(dev));
if (err)
goto err_devlink_params_reg;

err = mlx5_load(dev);
if (err)
goto err_load;

set_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state);

err = mlx5_devlink_params_register(priv_to_devlink(dev));
if (err)
goto err_devlink_params_reg;

err = mlx5_register_device(dev);
if (err)
goto err_register;
Expand All @@ -1418,11 +1418,11 @@ int mlx5_init_one(struct mlx5_core_dev *dev)
return 0;

err_register:
mlx5_devlink_params_unregister(priv_to_devlink(dev));
err_devlink_params_reg:
clear_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state);
mlx5_unload(dev);
err_load:
mlx5_devlink_params_unregister(priv_to_devlink(dev));
err_devlink_params_reg:
mlx5_cleanup_once(dev);
function_teardown:
mlx5_function_teardown(dev, true);
Expand All @@ -1441,7 +1441,6 @@ void mlx5_uninit_one(struct mlx5_core_dev *dev)
mutex_lock(&dev->intf_state_mutex);

mlx5_unregister_device(dev);
mlx5_devlink_params_unregister(priv_to_devlink(dev));

if (!test_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state)) {
mlx5_core_warn(dev, "%s: interface is down, NOP\n",
Expand All @@ -1452,6 +1451,7 @@ void mlx5_uninit_one(struct mlx5_core_dev *dev)

clear_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state);
mlx5_unload(dev);
mlx5_devlink_params_unregister(priv_to_devlink(dev));
mlx5_cleanup_once(dev);
mlx5_function_teardown(dev, true);
out:
Expand Down

0 comments on commit fe578cb

Please sign in to comment.