Skip to content

Commit

Permalink
staging: qlge: Move devlink registration to be last devlink command
Browse files Browse the repository at this point in the history
This change prevents from users to access device before devlink is
fully configured.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Leon Romanovsky authored and David S. Miller committed Sep 27, 2021
1 parent c89f78e commit 6f0b1ed
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/staging/qlge/qlge_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4614,10 +4614,9 @@ static int qlge_probe(struct pci_dev *pdev,
goto netdev_free;
}

devlink_register(devlink);
err = qlge_health_create_reporters(qdev);
if (err)
goto devlink_unregister;
goto netdev_free;

/* Start up the timer to trigger EEH if
* the bus goes dead
Expand All @@ -4628,10 +4627,9 @@ static int qlge_probe(struct pci_dev *pdev,
qlge_display_dev_info(ndev);
atomic_set(&qdev->lb_count, 0);
cards_found++;
devlink_register(devlink);
return 0;

devlink_unregister:
devlink_unregister(devlink);
netdev_free:
free_netdev(ndev);
devlink_free:
Expand All @@ -4656,13 +4654,13 @@ static void qlge_remove(struct pci_dev *pdev)
struct net_device *ndev = qdev->ndev;
struct devlink *devlink = priv_to_devlink(qdev);

devlink_unregister(devlink);
del_timer_sync(&qdev->timer);
qlge_cancel_all_work_sync(qdev);
unregister_netdev(ndev);
qlge_release_all(pdev);
pci_disable_device(pdev);
devlink_health_reporter_destroy(qdev->reporter);
devlink_unregister(devlink);
devlink_free(devlink);
free_netdev(ndev);
}
Expand Down

0 comments on commit 6f0b1ed

Please sign in to comment.