diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2011-07-26 12:08:52 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-07-27 07:35:49 -0400 |
commit | f6e76055ba778c56716ba79e106db28297775e87 (patch) | |
tree | 641447a8d81a114905463588d21dd820a40dfbb0 /drivers/scsi/hpsa.c | |
parent | fec62c368b9c8b05d5124ca6c3b8336b537f26f3 (diff) |
[SCSI] hpsa: retry commands completing with status of UNSOLICITED_ABORT
In a shared SAS setup, target devices may be reset by one of
several hosts, and outstanding commands on that device will be
completed to corresponding hosts with status of UNSOLICITED_ABORT.
Such commands should be retried instead of being treated as i/o
errors. Also fixed a nearby spelling error.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/hpsa.c')
-rw-r--r-- | drivers/scsi/hpsa.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 6bba23a26303..b64b29f648fd 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c | |||
@@ -1219,8 +1219,8 @@ static void complete_scsi_command(struct CommandList *cp) | |||
1219 | dev_warn(&h->pdev->dev, "cp %p reports abort failed\n", cp); | 1219 | dev_warn(&h->pdev->dev, "cp %p reports abort failed\n", cp); |
1220 | break; | 1220 | break; |
1221 | case CMD_UNSOLICITED_ABORT: | 1221 | case CMD_UNSOLICITED_ABORT: |
1222 | cmd->result = DID_RESET << 16; | 1222 | cmd->result = DID_SOFT_ERROR << 16; /* retry the command */ |
1223 | dev_warn(&h->pdev->dev, "cp %p aborted do to an unsolicited " | 1223 | dev_warn(&h->pdev->dev, "cp %p aborted due to an unsolicited " |
1224 | "abort\n", cp); | 1224 | "abort\n", cp); |
1225 | break; | 1225 | break; |
1226 | case CMD_TIMEOUT: | 1226 | case CMD_TIMEOUT: |