Commit afb16153 authored by Brian King's avatar Brian King Committed by James Bottomley

[PATCH] ipr: Properly retry aborted reponse

The ipr device driver runs tagged queuing with QERR=1. When a check
condition occurs on a device running tagged queuing, the other queued
commands get aborted by the ipr driver and will be returned by the
adapter with the IPR_IOASC_ABORTED_CMD_TERM_BY_HOST response. These
commands should be retried by the midlayer and their retry counter not
decremented.
Signed-off-by: default avatarBrian King <brking@us.ibm.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 21173296
...@@ -3732,7 +3732,7 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg, ...@@ -3732,7 +3732,7 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
switch (ioasc & IPR_IOASC_IOASC_MASK) { switch (ioasc & IPR_IOASC_IOASC_MASK) {
case IPR_IOASC_ABORTED_CMD_TERM_BY_HOST: case IPR_IOASC_ABORTED_CMD_TERM_BY_HOST:
scsi_cmd->result |= (DID_ERROR << 16); scsi_cmd->result |= (DID_IMM_RETRY << 16);
break; break;
case IPR_IOASC_IR_RESOURCE_HANDLE: case IPR_IOASC_IR_RESOURCE_HANDLE:
scsi_cmd->result |= (DID_NO_CONNECT << 16); scsi_cmd->result |= (DID_NO_CONNECT << 16);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment