[832] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: Problems with Adaptec 2940 as a module

daemon@ATHENA.MIT.EDU (Leonard N. Zubkoff)
Tue Oct 22 12:54:56 1996

Date: 	Tue, 22 Oct 1996 09:40:13 -0700
From: "Leonard N. Zubkoff" <lnz@dandelion.com>
To: neuffer@nomis.i-connect.net
CC: johnsonm@redhat.com, linux-kernel@vger.rutgers.edu,
        linux-scsi@vger.rutgers.edu, rcoleman@cc.gatech.edu
In-reply-to: <Pine.LNX.3.95.961022030112.5869B-100000@nomis.i-Connect.Net>
	(message from Michael Neuffer on Tue, 22 Oct 1996 03:49:08 -0700
	(PDT))

  Date: 	Tue, 22 Oct 1996 03:49:08 -0700 (PDT)
  From: Michael Neuffer <neuffer@nomis.i-connect.net>

  When Leonard and I were working on easing the tight skin
  syndrome of the SCSI subsystem, Leonard wrote the code to handle
  individual queues for every device.

  For this we created a new callback function called select_queue_depths().
  Unfortunately he forgot about the fact that scsi lowlevel drivers also
  need to get this function called when beeing loaded as modules, otherwise
  the device queues never get set up.

  So every driver which supported select_queue_depths() was domed to fail as
  a module.

  eata_dma.c, ncr53c8xx.c, aic7xxx.c, advansys.c, BusLogic.c

That's interesting... someone had already posted this same fix on USENET last
Friday due to problems with eata_dma as a driver, and I sent it on to Linus on
Saturday.  I didn't realize the problem being discussed here was the same one,
as this bug should not be affecting the aic7xxx driver.

The queue_depth changes default to still using the cmd_per_lun field if
select_queue_depths wasn't called.  This explains why the bug would not show up
on either BusLogic or aic7xxx since they both leave non-zero values in
cmd_per_lun, whereas the eata_dma, ncr53c8xx, and advansys leave it set to
zero.

		Leonard

home help back first fref pref prev next nref lref last post