cciss: do soft reset if hard reset is broken
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Tue, 3 May 2011 19:53:52 +0000 (14:53 -0500)
committerJens Axboe <jaxboe@fusionio.com>
Fri, 6 May 2011 14:23:56 +0000 (08:23 -0600)
commit5afe278114a8dd9480813377c75b5e40a42c5066
tree40f9546c8c0ecd6fcfb05d2174c336cc657b0d10
parentbf2e2e6b87ae38fab460a36abfe272d99ae8be49
cciss: do soft reset if hard reset is broken

on driver load, if reset_devices is set, and the hard reset
attempts fail, try to bring up the controller to the point that
a command can be sent, and send it a soft reset command, then
after the reset undo whatever driver initialization was done to get
it to the point to take a command, and re-do it after the reset.

This is to get kdump to work on all the "non-resettable" controllers
(except 64xx controllers which can't be reset due to the potentially
shared cache module.)

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
drivers/block/cciss.c