Skip to content

Commit

Permalink
net/mlx4: Move devlink_register to be the last initialization command
Browse files Browse the repository at this point in the history
Refactor the code to make sure that devlink_register() is the last
command during initialization stage.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
rleon authored and davem330 committed Sep 27, 2021
1 parent 4beb0c2 commit 1e72685
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/net/ethernet/mellanox/mlx4/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4015,7 +4015,6 @@ static int mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
mutex_init(&dev->persist->interface_state_mutex);
mutex_init(&dev->persist->pci_status_mutex);

devlink_register(devlink);
ret = devlink_params_register(devlink, mlx4_devlink_params,
ARRAY_SIZE(mlx4_devlink_params));
if (ret)
Expand All @@ -4025,16 +4024,15 @@ static int mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
if (ret)
goto err_params_unregister;

devlink_params_publish(devlink);
devlink_reload_enable(devlink);
pci_save_state(pdev);
devlink_register(devlink);
devlink_reload_enable(devlink);
return 0;

err_params_unregister:
devlink_params_unregister(devlink, mlx4_devlink_params,
ARRAY_SIZE(mlx4_devlink_params));
err_devlink_unregister:
devlink_unregister(devlink);
kfree(dev->persist);
err_devlink_free:
devlink_free(devlink);
Expand Down Expand Up @@ -4138,6 +4136,7 @@ static void mlx4_remove_one(struct pci_dev *pdev)
int active_vfs = 0;

devlink_reload_disable(devlink);
devlink_unregister(devlink);

if (mlx4_is_slave(dev))
persist->interface_state |= MLX4_INTERFACE_STATE_NOWAIT;
Expand Down Expand Up @@ -4173,7 +4172,6 @@ static void mlx4_remove_one(struct pci_dev *pdev)
mlx4_pci_disable_device(dev);
devlink_params_unregister(devlink, mlx4_devlink_params,
ARRAY_SIZE(mlx4_devlink_params));
devlink_unregister(devlink);
kfree(dev->persist);
devlink_free(devlink);
}
Expand Down

0 comments on commit 1e72685

Please sign in to comment.