Skip to contentSkip to conversation

fusion: return DID_COND_REQUEUE if SCSI status is MPI_SCSI_STATUS_BUSY

PATCH In review Edward Goggin 1 participant 1 message Feb 2, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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.

(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_F
 		case 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) {