[4048] in linux-scsi channel archive

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

Re: aic7xxx_host->host_no persists through ins/rmmod aic7xxx = not right.

daemon@ATHENA.MIT.EDU (Leonard N. Zubkoff)
Mon Jun 1 13:06:54 1998

Date: 	Mon, 1 Jun 1998 09:57:55 -0700
From: "Leonard N. Zubkoff" <lnz@dandelion.com>
To: tigran@aivazian.demon.co.uk
CC: linux-scsi@vger.rutgers.edu, linux-kernel@vger.rutgers.edu
In-reply-to: <Pine.LNX.3.96.980531171352.430A-100000@perseo.homenet> (message
	from Tigran Aivazian on Sun, 31 May 1998 17:27:16 +0100 (BST))

  Date: Sun, 31 May 1998 17:27:16 +0100 (BST)
  From: Tigran Aivazian <tigran@aivazian.demon.co.uk>

  Dear Leonard,

  I did not find e-mail for the maintainer of this specific SCSI module -
  aic7xxx so I decided to mail you since you were mentioned in the
  MAINTAINERS against SCSI Subsystem in general.

  I am running 2.1.104pre1 and noticed an odd behaviour of aic7xxx module.

  I compile sd_mod, scsi_mod and aic7xxx as modules and there is a line:

  alias scsi_hostadapter aic7xxx

  in /etc/modules.conf file. I have only one scsi device - ZIP drive and no
  other SCSI adapters on this system. When I mount /dev/sda1 kmod correctly
  autoloads sd_mod, scsi_mod and aic7xxx modules. Then I umount /dev/sda1
  and rmmod aic7xxx. This removes it cleanly, i.e. /proc/ioports doesn't
  oops (like it used to) and /proc/modules shows that everything is ok.

  However, if I then insmod aic7xxx manually (with sd_mod and scsi_mod
  already loaded from the previous time) the host number seems to be
  incremented. The fragment shown below is after I repeated this procedure
  twice (the only difference I see is that now it is scsi2 instead of scsi1,
  whilst it should really be scsi0):

  [snip]

For some reason I do not recall, the original author of the SCSI module code
decided that the host number needed to be incremented every time a driver was
loaded.  I don't see a reason for this, at least in the case where driver
modules are removed in the reverse order that they were installed.  I also
recall a proposal to keep track of where a driver module had been installed and 
re-install at the same host number if possible.  An interesting experiment
would be to remove the module test in:

    if (max_scsi_hosts == next_scsi_host && !scsi_loadable_module_flag)
	max_scsi_hosts--;

from hosts.c and see if the system operates properly.

		Leonard

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

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