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;