aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Moore <eric.moore@lsil.com>2007-01-04 22:44:01 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-06 10:22:33 -0500
commit86dd424266530cda55258b2b33d04c23a88b9a9c (patch)
tree7bc428fe171d67cd6252c0315f7dffbc84c73b1c
parent3d6d174a0888fe082e87ce1d4a0f1a85044a4515 (diff)
[SCSI] fusion: fibre channel: return DID_ERROR for MPI_IOCSTATUS_SCSI_IOC_TERMINATED
A repost of a patch forwarded by Mikael Reed from 2006-12-20. The fibre channel IOC may kill a request for a variety of reasons, some of which may be recovered by a retry, some of which are unlikely to be recovered. Return DID_ERROR instead of DID_RESET to permit retry of the command, just not an infinite number of them. Signed-off-by: Michael Reed <mdr@sgi.com> Signed-off-by: Eric Moore <Eric.Moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/message/fusion/mptscsih.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 2c72c36b8171..076eb2b573a3 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -701,6 +701,17 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr)
701 break; 701 break;
702 } 702 }
703 } 703 }
704 } else if (ioc->bus_type == FC) {
705 /*
706 * The FC IOC may kill a request for variety of
707 * reasons, some of which may be recovered by a
708 * retry, some which are unlikely to be
709 * recovered. Return DID_ERROR instead of
710 * DID_RESET to permit retry of the command,
711 * just not an infinite number of them
712 */
713 sc->result = DID_ERROR << 16;
714 break;
704 } 715 }
705 716
706 /* 717 /*