Commit 1e726859 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by David S. Miller
Browse files

net/mlx4: Move devlink_register to be the last initialization command



Refactor the code to make sure that devlink_register() is the last
command during initialization stage.

Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4beb0c24
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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)
@@ -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);
@@ -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;
@@ -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);
}