summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Lin <ed.lin@promise.com>2007-05-10 04:50:40 (GMT)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-05-16 16:41:23 (GMT)
commitd116a7bc6ab4dcf752078daeaf2276f7d7660595 (patch)
treef5b006ccb0265b8a26e5b6e835601572056818c2
parent69f4a513911455670d3322fb5252b437c0485707 (diff)
downloadlinux-d116a7bc6ab4dcf752078daeaf2276f7d7660595.tar.xz
[SCSI] stex: fix reset recovery for console device
After reset completed, the scsi error handler sends out TEST_UNIT_READY to the device. For 'normal' devices the command will be handled by firmware. However, because the RAID console only interfaces to scsi mid layer, the firmware will not process the command for it. This will make the console to be offlined right after reset. Add the handling in driver to fix this problem. Signed-off-by: Ed Lin <ed.lin@promise.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/stex.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c
index 81dd3b7..47c2ef9 100644
--- a/drivers/scsi/stex.c
+++ b/drivers/scsi/stex.c
@@ -612,6 +612,13 @@ stex_queuecommand(struct scsi_cmnd *cmd, void (* done)(struct scsi_cmnd *))
return 0;
}
break;
+ case TEST_UNIT_READY:
+ if (id == host->max_id - 1) {
+ cmd->result = DID_OK << 16 | COMMAND_COMPLETE << 8;
+ done(cmd);
+ return 0;
+ }
+ break;
case INQUIRY:
if (id != host->max_id - 1)
break;