Skip to content

Commit 86dd424

Browse files
Eric MooreJames Bottomley
authored andcommitted
[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>
1 parent 3d6d174 commit 86dd424

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/message/fusion/mptscsih.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -701,6 +701,17 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr)
701701
break;
702702
}
703703
}
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;
704715
}
705716

706717
/*

0 commit comments

Comments
 (0)