Re: Problem with aacraid driver in 2.5.63-bk-latest

Mark Haverkamp <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.scsi,gmane.linux.drivers.aacraid.devel
Message-ID <[email protected]>
On Fri, 2003-02-28 at 05:30, Christoffer Hall-Frederiksen wrote:
> I have a dell poweredge 1650 with a perc3/DI controller. When the
> AACRAID driver loads it stops with the following lines:
> 
> AAC0: kernel 2.7.4 build 3170
> AAC0: monitor 2.7.4 build 3170
> AAC0: bios 2.7.0 build 3170
> AAC0: serial 0b9c810d3
> scsi0 : percraid
> 

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 <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.