diff options
author | Brian King <brking@us.ibm.com> | 2006-08-02 14:57:51 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-08-06 15:50:19 -0500 |
commit | 5b7304fbfb74bfca6f7d5a88b28197e3f7f2743b (patch) | |
tree | cd97f3c12720ccdb784c24df63318ab34080313e /drivers/scsi/ipr.c | |
parent | 896bbd21408ddbfb9a57819404dbb04f4f0afb35 (diff) | |
download | op-kernel-dev-5b7304fbfb74bfca6f7d5a88b28197e3f7f2743b.zip op-kernel-dev-5b7304fbfb74bfca6f7d5a88b28197e3f7f2743b.tar.gz |
[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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 7f2c5cf..55c0156 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, case IPR_IOASC_NR_INIT_CMD_REQUIRED: break; default: - scsi_cmd->result |= (DID_ERROR << 16); + if (IPR_IOASC_SENSE_KEY(ioasc) > RECOVERED_ERROR) + scsi_cmd->result |= (DID_ERROR << 16); if (!ipr_is_vset_device(res) && !ipr_is_naca_model(res)) res->needs_sync_complete = 1; break; |