The diff below makes mfi use the 'backpressure' facility in the scsi
layer by allowing the retry of an i/o that can't be started. It
would be interesting to see if this helps those who are seeing the
'not queued' errors.

.... Ken

Index: mfi.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/mfi.c,v
retrieving revision 1.79
diff -u -p -r1.79 mfi.c
--- mfi.c       11 Feb 2008 01:07:02 -0000      1.79
+++ mfi.c       16 Feb 2008 01:14:12 -0000
@@ -986,7 +986,7 @@ mfi_scsi_cmd(struct scsi_xfer *xs)
 
        if ((ccb = mfi_get_ccb(sc)) == NULL) {
                DNPRINTF(MFI_D_CMD, "%s: mfi_scsi_cmd no ccb\n", DEVNAME(sc));
-               return (TRY_AGAIN_LATER);
+               return (NO_CCB);
        }
 
        xs->error = XS_NOERROR;

Reply via email to