aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2010-03-17 06:52:21 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 10:23:54 -0400
commitf891dcfdc11d2004253861f51d627bfda6773c76 (patch)
tree01a4387498cc864d18f25a2ab743aede2b33b292 /drivers
parent7921b35c5fcf300ebd860e3e7894c692c9547838 (diff)
[SCSI] mpt2sas: Corrected conditional checks for Internal device Reset
bug fix in the handling of the internal device reset event The reason code check in scsih_sas_device_status_change_event never evaluates as true for internal device reset, hence driver never quiesce s IO when firmware is sending a device reset. The fix is to change the evaluate to: if (event_data->ReasonCode != MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET && event_data->ReasonCode != MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET) return; Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_scsih.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index fa94f0ff7762..f3ce9b1825b1 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -4435,10 +4435,10 @@ _scsih_sas_device_status_change_event(struct MPT2SAS_ADAPTER *ioc,
4435 event_data); 4435 event_data);
4436#endif 4436#endif
4437 4437
4438 if (!(event_data->ReasonCode == 4438 if (event_data->ReasonCode !=
4439 MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET && 4439 MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET &&
4440 event_data->ReasonCode == 4440 event_data->ReasonCode !=
4441 MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET)) 4441 MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET)
4442 return; 4442 return;
4443 4443
4444 spin_lock_irqsave(&ioc->sas_device_lock, flags); 4444 spin_lock_irqsave(&ioc->sas_device_lock, flags);