fusion: return DID_COND_REQUEUE if SCSI status is MPI_SCSI_STATUS_BUSY
Subsystems (2)
PATCH 2/2 fusion: return DID_COND_REQUEUE if SCSI status is MPI_SCSI_STATUS_BUSY
From: Ed Goggin <[email protected]>
Return DID_COND_REQUEUE instead of DID_BUS_BUSY for IOC status is SUCCESS and scsi_status is MPI_SCSI_STATUS_BUSY. Command will be retried via ADD_TO_MLQUEUE IFF not REQ_FAILFAST.
Signed-off-by Ed Goggin <[email protected]>
(quoted diff) +0 -0
b/drivers/message/fusion/mptscsih.c
index f0cca3e..312a75e 100644
drivers/message/fusion/mptscsih.c +1 -1
@@ -781,7 +781,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_Fcase MPI_IOCSTATUS_SCSI_RECOVERED_ERROR :/* 0x0040 */ case MPI_IOCSTATUS_SUCCESS :/* 0x0000 */ if (scsi_status ==MPI_SCSI_STATUS_BUSY ) - sc->result = (DID_BUS_BUSY <<16 ) | scsi_status; + sc->result = (DID_COND_REQUEUE <<16 ) | scsi_status;else sc->result = (DID_OK <<16 ) | scsi_status;if (scsi_state ==0 ) {