I /think/ that there is an issue with this routine /if/ the firmware
images are not loaded properly - on a 16-way ia64 box I am starting to
see this with an up-stream kernel (Jens Axboe's origin/io-cpu-affinity
branch). In any event, it looks to me that :
if (qla2x00_initialize_adapter(ha)) {
qla_printk(KERN_WARNING, ha,
"Failed to initialize adapter\n");
DEBUG2(printk("scsi(%ld): Failed to initialize adapter - "
"Adapter flags %x.\n",
ha->host_no, ha->device_flags));
ret = -ENODEV;
goto probe_failed;
}
skips around:
ret = scsi_add_host(host, &pdev->dev);
which is needed to properly initialize the freelist (via:
scsi_setup_command_freelist).
When qla2xxx_probe_one ends up calling scsi_host_put in this error path
it eventually gets to scsi_destroy_command_freelist and we get the error
below.
There's a lot of code here to go through for me, but perhaps someone out
there has a quicker way of figuring out what is really wrong and/or
being able to provide a fix.
BTW: I have had the issue with firmware for a while, just never gotten
around to fixing it - typically just:
modprobe -r qla2xxx
modprobe qla2xxx
has gotten it to work in the past, but now with the NaT issue I can't
unload and reload the module.
Alan D. Brunelle
HP
=========================================================
qla2xxx 0000:2a:01.0: Found an ISP2312, irq 100, iobase 0xc0000f4010040000
qla2xxx 0000:2a:01.0: Configuring PCI space...
qla2xxx 0000:2a:01.0: Configure NVRAM parameters...
qla2xxx 0000:2a:01.0: Verifying loaded RISC code...
qla2xxx 0000:2a:01.0: Firmware image unavailable.
qla2xxx 0000:2a:01.0: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:2a:01.0: Failed to initialize adapter
insmod[1828]: NaT consumption 17179869216 [1]
Modules linked in: qla2xxx(+) firmware_class ...