Skip to content

Commit

Permalink
net/mlx5: Move devlink registration before interfaces load
Browse files Browse the repository at this point in the history
Register devlink before interfaces are added.
This will allow interfaces to use devlink while initalizing. For example,
call mlx5_is_roce_enabled.

Fixes: aba2527 ("net/mlx5e: Add TX reporter support")
Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
  • Loading branch information
mikijoy authored and Saeed Mahameed committed Jan 6, 2020
1 parent 99cda45 commit a6f3b62
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions drivers/net/ethernet/mellanox/mlx5/core/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1193,6 +1193,12 @@ 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 {
Expand All @@ -1210,6 +1216,9 @@ 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)
Expand Down Expand Up @@ -1347,20 +1356,13 @@ 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);

pci_save_state(pdev);
return 0;

clean_load:
mlx5_unload_one(dev, true);

err_load_one:
mlx5_pci_close(dev);
pci_init_err:
Expand Down

0 comments on commit a6f3b62

Please sign in to comment.