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

Commit c78f6415 authored by Bryan O'Sullivan's avatar Bryan O'Sullivan Committed by Roland Dreier
Browse files

IB/ipath: Unregister from IB core early



This gives upper-level protocols a chance to unregister while the device
is still usable.

Signed-off-by: default avatarBryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 2c9446a1
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -536,7 +536,12 @@ static void __devexit ipath_remove_one(struct pci_dev *pdev)
		return;

	dd = pci_get_drvdata(pdev);

	if (dd->verbs_dev) {
		ipath_unregister_ib_device(dd->verbs_dev);
		dd->verbs_dev = NULL;
	}

	ipath_diag_remove(dd);
	ipath_user_remove(dd);
	ipathfs_remove_device(dd);
@@ -2027,6 +2032,11 @@ static void __exit infinipath_cleanup(void)
	list_for_each_entry_safe(dd, tmp, &ipath_dev_list, ipath_list) {
		spin_unlock_irqrestore(&ipath_devs_lock, flags);

		if (dd->verbs_dev) {
			ipath_unregister_ib_device(dd->verbs_dev);
			dd->verbs_dev = NULL;
		}

		if (dd->ipath_kregbase)
			cleanup_device(dd);