aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/ipath/ipath_driver.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-05-24 08:55:12 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-24 08:55:12 -0700
commitda8bacf6d59288ef3e41389db24886c928dcbd33 (patch)
tree35d2739fb57a760dca1c9413a6814d6d2be8e295 /drivers/infiniband/hw/ipath/ipath_driver.c
parent67e3812426efbe62dd765eed9895cd3098def948 (diff)
parent09b74de9fff056a0a4058a0f14508acba89ea6fc (diff)
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: deref correct pointer when using kernel SMA IB/ipath: fix null deref during rdma ops IB/ipath: register as IB device owner IB/ipath: enable PE800 receive interrupts on user ports IB/ipath: enable GPIO interrupt on HT-460 IB/ipath: fix NULL dereference during cleanup IB/ipath: replace uses of LIST_POISON IB/ipath: fix reporting of driver version to userspace IB/ipath: don't modify QP if changes fail IB/ipath: fix spinlock recursion bug
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_driver.c')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_driver.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c
index 3697edafd6d..dddcdae736a 100644
--- a/drivers/infiniband/hw/ipath/ipath_driver.c
+++ b/drivers/infiniband/hw/ipath/ipath_driver.c
@@ -1905,19 +1905,19 @@ static void __exit infinipath_cleanup(void)
} else
ipath_dbg("irq is 0, not doing free_irq "
"for unit %u\n", dd->ipath_unit);
- dd->pcidev = NULL;
- }
- /*
- * we check for NULL here, because it's outside the kregbase
- * check, and we need to call it after the free_irq. Thus
- * it's possible that the function pointers were never
- * initialized.
- */
- if (dd->ipath_f_cleanup)
- /* clean up chip-specific stuff */
- dd->ipath_f_cleanup(dd);
+ /*
+ * we check for NULL here, because it's outside
+ * the kregbase check, and we need to call it
+ * after the free_irq. Thus it's possible that
+ * the function pointers were never initialized.
+ */
+ if (dd->ipath_f_cleanup)
+ /* clean up chip-specific stuff */
+ dd->ipath_f_cleanup(dd);
+ dd->pcidev = NULL;
+ }
spin_lock_irqsave(&ipath_devs_lock, flags);
}