Duane Grigsby wrote:
>
> I'm encountering the following Oops panic in the scsi mid-layer with my host
> driver (qla1x80) as well as the aic7xxx driver. It occurs when the driver is
> loaded then unloaded and loaded again on Redhat version 6.0 (2.2.5-15). Is
> anyone aware of an issue in the scsi layer. Any ideals or suggestions?
In drivers/scsi/scsi.c in function scan_scsis() there are
2 scsi_init_malloc() calls that don't bother to check if
NULL is returned and oops when it happens. Those calls
want memory under the 16 MB level. This is a worst case
assumption that an ISA SCSI adapter is [going to be]
loaded. Your machine seems to have only 24 MB of RAM but
strangely your problems would be worse if you had more
memory and less likely to occur if you only had 16 MB !
Those scsi_init_malloc() calls are now checked (2.2.10-ac1+).
The oops should then become an "insmod" failing. Yaroslav
Kysela has presented a patch on the linux-kernel list to
create a second page pool for memory under the 16 MB level.
The patch worked well in my tests but needs some additional
work before it can go into the kernel. Yaroslav has set
up a page about it at:
http://www.alsa-project.org/~perex/page_alloc.html
Unfortunately it seems to be aimed at the 2.3 series of
kernels. As you have seen, the 2.2 series of kernels
would also benefit. [The sound + floppy subsystems amongst
other would benefit as well.]
In your case, using 2.2.5, do you realLy need to load,
unload and load the driver again? If not, rebuild your
kernel with the SCSI adapter driver(s) built in. With
so many SCSI devices and the weaknesses of 2.2, it is
probably a good idea to build all your SCSI drivers
(low, mid and high level) into the kernel unless you have
a good reason not to.
Doug Gilbert
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]