We just ran into this too at osdl.  I have something that gets the
driver to load, but I'm not sure what the right thing is to do.
The cmd_per_lun element of the driver_template is set to
AAC_NUM_IO_FIB.  This is 512. 
During probe, scsi_alloc_sdev is called.  It calls
scsi_adjust_queue_depth with the cmd_per_lun value. 
scsi_adjust_queue_depth returns without doing anything if the tags value
is greater than 256.  This leaves the Scsi_Device queue_depth at zero. 
Later when an I/O is queued, scsi_request_fn checks for device_busy >=
queue_depth.  If so, the function does a break and exits.  This is where
it hangs.
To get things to load I set cmd_per_lun to 256.  I don't know if the is
the correct way to deal with the problem.  Maybe someone else can say
something about that.
===== drivers/scsi/aacraid/linit.c 1.12 vs edited =====
--- 1.12/drivers/scsi/aacraid/linit.c	Mon Feb 24 13:03:30 2003
+++ edited/drivers/scsi/aacraid/linit.c	Wed Mar 12 14:32:18 2003
@@ -693,7 +693,7 @@
 	this_id:        	16,
 	sg_tablesize:   	16,
 	max_sectors:    	128,
-	cmd_per_lun:    	AAC_NUM_IO_FIB,
+	cmd_per_lun:    	256,
 	eh_abort_handler:       aac_eh_abort,
 	eh_device_reset_handler:aac_eh_device_reset,
 	eh_bus_reset_handler:	aac_eh_bus_reset,
-- Mark Haverkamp <markh@osdl.org>- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/