staging: qlge: Move devlink registration to be last devlink command
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>
This commit is contained in:
parent
c89f78e985
commit
6f0b1edd9f
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue