Commit 94b3aa47 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley

[SCSI] qla2xxx: Use 'proper' DID_* status code for dropped-frame scenarios.

The SCSI-midlayer's fast-fail codes consider an DID_ERROR status
as a driver-error and the failed I/O would then be retried in the
midlayer without being fast-failed to dm-multipath.  DID_BUS_BUSY
status returns would induce unneeded path-failures events being
propagated to the DM/MD.
Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent cbc8eb67
...@@ -1211,7 +1211,7 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) ...@@ -1211,7 +1211,7 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
/* /*
* If RISC reports underrun and target does not report * If RISC reports underrun and target does not report
* it then we must have a lost frame, so tell upper * it then we must have a lost frame, so tell upper
* layer to retry it by reporting a bus busy. * layer to retry it by reporting an error.
*/ */
if (!(scsi_status & SS_RESIDUAL_UNDER)) { if (!(scsi_status & SS_RESIDUAL_UNDER)) {
DEBUG2(printk("scsi(%ld:%d:%d:%d) Dropped " DEBUG2(printk("scsi(%ld:%d:%d:%d) Dropped "
...@@ -1221,7 +1221,7 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) ...@@ -1221,7 +1221,7 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
cp->device->id, cp->device->lun, resid, cp->device->id, cp->device->lun, resid,
scsi_bufflen(cp))); scsi_bufflen(cp)));
cp->result = DID_BUS_BUSY << 16; cp->result = DID_ERROR << 16;
break; break;
} }
......
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