[SCSI] mpt2sas: Hold Controller reset when another reset is in progress
Driver should not allow multiple host reset when already host reset is in progress. It is possible that host reset was sent by scsi mid layer while there was already an host reset active, either issued via IOCTL interface or internaly, like a config page timeout. Since there was a host reset active, the driver would return a FAILED response to the scsi mid layer. The solution is make sure pending host resets will wait for the active host reset to complete before returning control back up the call stack. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:

committed by
James Bottomley

parent
ab6ce92541
commit
d274213a1a
@@ -6557,6 +6557,7 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
ioc->tm_sas_control_cb_idx = tm_sas_control_cb_idx;
|
||||
ioc->logging_level = logging_level;
|
||||
/* misc semaphores and spin locks */
|
||||
mutex_init(&ioc->reset_in_progress_mutex);
|
||||
spin_lock_init(&ioc->ioc_reset_in_progress_lock);
|
||||
spin_lock_init(&ioc->scsi_lookup_lock);
|
||||
spin_lock_init(&ioc->sas_device_lock);
|
||||
|
Reference in New Issue
Block a user