diff options
author | Ed Lin <ed.lin@promise.com> | 2007-05-10 00:50:40 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-16 12:41:23 -0400 |
commit | d116a7bc6ab4dcf752078daeaf2276f7d7660595 (patch) | |
tree | f5b006ccb0265b8a26e5b6e835601572056818c2 /drivers/scsi/stex.c | |
parent | 69f4a513911455670d3322fb5252b437c0485707 (diff) |
[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>
Diffstat (limited to 'drivers/scsi/stex.c')
-rw-r--r-- | drivers/scsi/stex.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 81dd3b740daf..47c2ef917fea 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 *)) | |||
612 | return 0; | 612 | return 0; |
613 | } | 613 | } |
614 | break; | 614 | break; |
615 | case TEST_UNIT_READY: | ||
616 | if (id == host->max_id - 1) { | ||
617 | cmd->result = DID_OK << 16 | COMMAND_COMPLETE << 8; | ||
618 | done(cmd); | ||
619 | return 0; | ||
620 | } | ||
621 | break; | ||
615 | case INQUIRY: | 622 | case INQUIRY: |
616 | if (id != host->max_id - 1) | 623 | if (id != host->max_id - 1) |
617 | break; | 624 | break; |