Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ce3f9f1 authored by Michael Guralnik's avatar Michael Guralnik Committed by Greg Kroah-Hartman
Browse files

net/mlx5: Move devlink registration before interfaces load



[ Upstream commit a6f3b62386a02c1e94bfa22c543f82d63f5e631b ]

Register devlink before interfaces are added.
This will allow interfaces to use devlink while initalizing. For example,
call mlx5_is_roce_enabled.

Fixes: aba25279 ("net/mlx5e: Add TX reporter support")
Signed-off-by: default avatarMichael Guralnik <michaelgur@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f479506e
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -1197,6 +1197,12 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, bool boot)
	if (err)
		goto err_load;

	if (boot) {
		err = mlx5_devlink_register(priv_to_devlink(dev), dev->device);
		if (err)
			goto err_devlink_reg;
	}

	if (mlx5_device_registered(dev)) {
		mlx5_attach_device(dev);
	} else {
@@ -1214,6 +1220,9 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, bool boot)
	return err;

err_reg_dev:
	if (boot)
		mlx5_devlink_unregister(priv_to_devlink(dev));
err_devlink_reg:
	mlx5_unload(dev);
err_load:
	if (boot)
@@ -1353,10 +1362,6 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *id)

	request_module_nowait(MLX5_IB_MOD);

	err = mlx5_devlink_register(devlink, &pdev->dev);
	if (err)
		goto clean_load;

	err = mlx5_crdump_enable(dev);
	if (err)
		dev_err(&pdev->dev, "mlx5_crdump_enable failed with error code %d\n", err);
@@ -1364,9 +1369,6 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *id)
	pci_save_state(pdev);
	return 0;

clean_load:
	mlx5_unload_one(dev, true);

err_load_one:
	mlx5_pci_close(dev);
pci_init_err: