IB/ipath: Fix driver crash (in interrupt or during unload) after chip reset
authorMichael Albaugh <Michael.Albaugh@QLogic.com>
Thu, 15 Mar 2007 21:45:08 +0000 (14:45 -0700)
committerRoland Dreier <rolandd@cisco.com>
Thu, 19 Apr 2007 03:20:58 +0000 (20:20 -0700)
commit27b044a815df7d4530bc68560796680ed588070c
treee84d4fe91961ae24ac2d72f12eac368b9b7c29e8
parent9783ab405844202b452ac673677e6c8f8c9a6a99
IB/ipath: Fix driver crash (in interrupt or during unload) after chip reset

Re-init of the kernel structures after a chip reset was leaving the
portdata structure for port zero in an inconsistent state, and a
pointer to it either stale (in re-init code) or NULL (in devdata)
Fixing the order of operations on this struct, and the condition for
interrupt access, prevents the crashes.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_init_chip.c
drivers/infiniband/hw/ipath/ipath_stats.c