Skip to content

Commit

Permalink
IB/ipath: Unregister from IB core early
Browse files Browse the repository at this point in the history
This gives upper-level protocols a chance to unregister while the device
is still usable.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Bryan O'Sullivan authored and Roland Dreier committed Sep 28, 2006
1 parent 2c9446a commit c78f641
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion drivers/infiniband/hw/ipath/ipath_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,12 @@ static void __devexit ipath_remove_one(struct pci_dev *pdev)
return;

dd = pci_get_drvdata(pdev);
ipath_unregister_ib_device(dd->verbs_dev);

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);
Expand Down Expand Up @@ -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);

Expand Down

0 comments on commit c78f641

Please sign in to comment.