On Thu, 2007-01-04 at 20:46 -0700, Eric Moore wrote: > - if (scsi_status == MPI_SCSI_STATUS_BUSY) > + if (ioc->bus_type != SPI && scsi_status == > MPI_SCSI_STATUS_BUSY) > sc->result = (DID_BUS_BUSY << 16) | scsi_status; > else > sc->result = (DID_OK << 16) | scsi_status;
DID_BUS_BUSY causes an immediate retry, but it does debit the retry count, so it shouldn't cause "infinite retries" ... if it does, there's something else wrong here. I should also point out that the MPI_SCSI_STATUS_BUSY is SAM_STAT_BUSY ... this return will cause a queue stop and a requeue, but it doesn't actually debit the retries, so it *may* cause an infinite loop if the system is permanently busy. Finally, whatever's causing this, it should probably be treated the same for all fusion bus types ... James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html