Commit 6f0b1edd authored by Leon Romanovsky's avatar Leon Romanovsky Committed by David S. Miller
Browse files

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: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c89f78e9
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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);
}