[SCSI] mpt2sas : IOs needs to be pause until handles are refreshed for all device...
authorKashyap, Desai <kashyap.desai@lsi.com>
Tue, 30 Mar 2010 05:22:44 +0000 (10:52 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 11 Apr 2010 18:27:01 +0000 (13:27 -0500)
commit1469585309bb52869cbaa449c6d2cd1ce9869cca
tree111af0cfae42fbaa9bacb07327c185c1eb9ad0f9
parentf87146bba523cad0196aa8e80ca9e8243d7a6c0c
[SCSI] mpt2sas : IOs needs to be pause until handles are refreshed for all device after recovery

After Host Reset firmware will have new list of device handles for the target.
Device handle refresh in driver is part of Rescan topology logic.
(See functions like *_search_responding_*). This needs to be done from Host
Reset context before making shost_recovery to 0. Currently it is done in
Firwmare event context, which may leads IO to a wrong device.

Now handler refresh is moved to HBA reset context.
Apart from this, Now driver will stop IOs for all device setting deleted
flag to 1 at the time of HBA Reset through _scsih_prep_device_scan.
It will only unblock devices, if devices has been found as part of RESCAN.
This way it will make more safe IO blocking at the time of HBA reset at
mpt2sas driver layer.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/mpt2sas/mpt2sas_scsih.c