[SCSI] ips: Fix initialization bug with kdump
authorJack Hammer <jack_hammer@adaptec.com>
Mon, 29 Aug 2005 14:44:34 +0000 (10:44 -0400)
committerJames Bottomley <jejb@mulgrave.(none)>
Tue, 1 Nov 2005 02:17:16 +0000 (18:17 -0800)
commitee807c2d43b54183c16580857837dae8ccb2ed22
tree8e99189a4dcb3dd76339051f5fa240ad9819e4c5
parenta3632fa3ecefe50d88fc70af90610f79b99e0715
[SCSI] ips: Fix initialization bug with kdump

If I/O is active on the adapter, and an unexpected interrupt is pending
during initialization, the driver blows it's brains out. Since the driver
didn't initiate the I/O, the data in it's internal tables will contain NULL
pointers.

When this condition is detected, a "flush cache and reset" is performed.
The flush cache allows any pending "lazy writes" that the adapter is
processing to complete ( a "must have" for a RAID adapter ) and the reset
puts the adapter back into a known, good state.

Signed-off-by: Jack Hammer <jack_hammer@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/ips.c