Commit 71c1b525 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by David S. Miller
Browse files

netdevsim: Move devlink registration to be last devlink command



This change prevents from users to access device before devlink is
fully configured.

Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0d98ff22
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -1470,7 +1470,6 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev)
	if (err)
		goto err_devlink_free;

	devlink_register(devlink);
	err = devlink_params_register(devlink, nsim_devlink_params,
				      ARRAY_SIZE(nsim_devlink_params));
	if (err)
@@ -1511,9 +1510,9 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev)
	if (err)
		goto err_psample_exit;

	devlink_params_publish(devlink);
	devlink_reload_enable(devlink);
	nsim_dev->esw_mode = DEVLINK_ESWITCH_MODE_LEGACY;
	devlink_register(devlink);
	devlink_reload_enable(devlink);
	return 0;

err_psample_exit:
@@ -1534,7 +1533,6 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev)
	devlink_params_unregister(devlink, nsim_devlink_params,
				  ARRAY_SIZE(nsim_devlink_params));
err_dl_unregister:
	devlink_unregister(devlink);
	devlink_resources_unregister(devlink, NULL);
err_devlink_free:
	devlink_free(devlink);
@@ -1569,6 +1567,7 @@ void nsim_dev_remove(struct nsim_bus_dev *nsim_bus_dev)
	struct devlink *devlink = priv_to_devlink(nsim_dev);

	devlink_reload_disable(devlink);
	devlink_unregister(devlink);

	nsim_dev_reload_destroy(nsim_dev);

@@ -1576,7 +1575,6 @@ void nsim_dev_remove(struct nsim_bus_dev *nsim_bus_dev)
	nsim_dev_debugfs_exit(nsim_dev);
	devlink_params_unregister(devlink, nsim_devlink_params,
				  ARRAY_SIZE(nsim_devlink_params));
	devlink_unregister(devlink);
	devlink_resources_unregister(devlink, NULL);
	devlink_free(devlink);
}