diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-17 06:52:21 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:23:54 -0400 |
commit | f891dcfdc11d2004253861f51d627bfda6773c76 (patch) | |
tree | 01a4387498cc864d18f25a2ab743aede2b33b292 /drivers/scsi/mpt2sas | |
parent | 7921b35c5fcf300ebd860e3e7894c692c9547838 (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/scsi/mpt2sas')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_scsih.c | 6 |
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); |