aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorBrian King <brking@us.ibm.com>2006-08-02 15:57:51 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-08-06 16:50:19 -0400
commit5b7304fbfb74bfca6f7d5a88b28197e3f7f2743b (patch)
treecd97f3c12720ccdb784c24df63318ab34080313e /drivers/scsi/ipr.c
parent896bbd21408ddbfb9a57819404dbb04f4f0afb35 (diff)
[SCSI] ipr: Properly handle IOA recovered errors
The ipr driver currently translates adapter recovered errors to DID_ERROR. This patch fixes this to translate these errors to success instead. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r--drivers/scsi/ipr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 7f2c5cfc57ba..55c0156e36b0 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4218,7 +4218,8 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
4218 case IPR_IOASC_NR_INIT_CMD_REQUIRED: 4218 case IPR_IOASC_NR_INIT_CMD_REQUIRED:
4219 break; 4219 break;
4220 default: 4220 default:
4221 scsi_cmd->result |= (DID_ERROR << 16); 4221 if (IPR_IOASC_SENSE_KEY(ioasc) > RECOVERED_ERROR)
4222 scsi_cmd->result |= (DID_ERROR << 16);
4222 if (!ipr_is_vset_device(res) && !ipr_is_naca_model(res)) 4223 if (!ipr_is_vset_device(res) && !ipr_is_naca_model(res))
4223 res->needs_sync_complete = 1; 4224 res->needs_sync_complete = 1;
4224 break; 4225 break;