fusion: fibre channel: return DID_ERROR for MPI_IOCSTATUS_SCSI_IOC_TERMINATED
Subsystems (2)
PATCH 1/1 fusion: fibre channel: return DID_ERROR for MPI_IOCSTATUS_SCSI_IOC_TERMINATED
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 <[email protected]>
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 <[email protected]>
drivers/message/fusion/mptscsih.c +6 -1
@@ -702,9 +702,14 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_F } } } +else if (ioc->bus_type ==FC ) { +/* i/o killed by IOC */ + sc->result =DID_ERROR <<16 ; +break ; + }/* -* Allow non-SAS & non-NEXUS_LOSS to drop into below code +* Allow non-FC, non-SAS & non-NEXUS_LOSS to drop into below code */ case MPI_IOCSTATUS_SCSI_TASK_TERMINATED :/* 0x0048 */