Bug 329511

Summary: qla2xxx driver broken on all 2.6.22 kernels
Product: [Fedora] Fedora Reporter: Philippe Rigault <prigault>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: low    
Version: 8CC: eparis, jonstanley, jp
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-01-17 00:56:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Philippe Rigault 2007-10-12 15:07:32 UTC
Description of problem:
qla2xxx fails to load in all recent 2.6.22 kernels.

Version-Release number of selected component (if applicable):
2.6.22.x (any kernel from kernel-2.6.22.1-32.fc6 to kernel-2.6.22.9-61.fc6)

How reproducible: Always

Steps to Reproduce:
1. Boot a 2.6.22 kernel
 (any kernel from kernel-2.6.22.1-32.fc6 to kernel-2.6.22.9-61.fc6)


Actual results:
qla2xxx driver fails to load

from syslog:

 kernel: qla2xxx 0000:22:01.0: Found an ISP2312, irq 37, iobase 
0xffffc20004d5c000
 kernel: qla2xxx 0000:22:01.0: Configuring PCI space...
 ls25 kernel: qla2xxx 0000:22:01.0: Configure NVRAM parameters...
 kernel: qla2xxx 0000:22:01.0: Verifying loaded RISC code...
 kernel: qla2xxx 0000:22:01.0: Firmware image unavailable.
 kernel: qla2xxx 0000:22:01.0: Firmware images can be retrieved from: 
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
 kernel: qla2xxx 0000:22:01.0: Failed to initialize adapter

Expected results:
qla2xxx driver loads successfully

from syslog:

 kernel: qla2xxx 0000:22:01.0: Found an ISP2312, irq 37, iobase 
0xffffc2000002a000
 kernel: qla2xxx 0000:22:01.0: Configuring PCI space...
 kernel: qla2xxx 0000:22:01.0: Configure NVRAM parameters...
 kernel: qla2xxx 0000:22:01.0: Verifying loaded RISC code...
 kernel: qla2xxx 0000:22:01.0: Allocated (412 KB) for firmware dump...
 kernel: qla2xxx 0000:22:01.0: LIP reset occured (f7f7).
 kernel: scsi1 : qla2xxx
 kernel: qla2xxx 0000:22:01.0: LIP occured (f7f7).
 kernel: qla2xxx 0000:22:01.0: LOOP UP detected (2 Gbps).

Additional info:
Hardware: x86_64 (Opteron) SunFire V40z

lspci output for the Qlogic adapter:

22:01.0 Fibre Channel: QLogic Corp. QLA2312 Fibre Channel Adapter (rev 02)
        Subsystem: QLogic Corp. Unknown device 0149
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ 
Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 128 (16000ns min), Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 37
        Region 0: I/O ports at 3000 [size=256]
        Region 1: Memory at fe400000 (64-bit, non-prefetchable) [size=4K]
        [virtual] Expansion ROM at fc600000 [disabled] [size=128K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [4c] PCI-X non-bridge device
                Command: DPERE- ERO- RBC=1024 OST=2
                Status: Dev=22:01.0 64bit+ 133MHz+ SCD- USC- DC=simple 
DMMRBC=4096 DMOST=3 DMCRS=32 RSCEM- 266MHz- 533MHz-
        Capabilities: [54] Message Signalled Interrupts: 64bit+ Queue=0/3 
Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [64] #06 [0080]

Comment 1 Jean-Philippe Dionne 2007-10-17 16:27:31 UTC
The problem is also present in Fedora 8 Test 3 with kernel
2.6.23-0.214.rc8.git2.fc8 and 2.6.23-6.fc8 .   

# dmesg
...
qla2xxx 0000:03:01.0: Found an ISP2312, irq 28, iobase 0xffffc20002f46000
qla2xxx 0000:03:01.0: Configuring PCI space...
qla2xxx 0000:03:01.0: Configure NVRAM parameters...
qla2xxx 0000:03:01.0: Verifying loaded RISC code...
qla2xxx 0000:03:01.0: Firmware image unavailable.
qla2xxx 0000:03:01.0: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:03:01.0: Failed to initialize adapter
ACPI: PCI interrupt for device 0000:03:01.0 disabled
...



Comment 2 Philippe Rigault 2007-10-18 01:24:53 UTC
Updated version.
Priority should be high, since this is a blocker for updates and F8 install.

Comment 3 Jeremy Katz 2007-10-29 19:44:22 UTC
qla firmware is now included as a separate package in F8 -- not sure if it's
been built for older releases yet.

Comment 4 Philippe Rigault 2007-10-29 20:13:16 UTC
> qla firmware is now included as a separate package in F8
We have tested this. It works, However...

The point of this bug is that the new kernels break functionality in F6 and 
F7, and that F8 install/upgrade will not see partitions attached to qla, since 
the kernel must load the driver with the correct firmware in order to see the 
device.

In my particular case, only data partitions are arrached to qla (the system is 
on a SCSI or SATA local disk), so a post-install of the qla-firmware RPM is 
feasible. But people with their / parition on a qla device will be blocked 
from installing (or upgrading to) F8, since anaconda will not see it.

For F6/F7 users, the proper way to deal with this is to add package 
dependencies so that they can upgrade their kernel without losing their device 
upon reboot.
 
Cheers.

Comment 5 Chuck Ebbert 2007-12-07 00:03:31 UTC
This may to have been a bug in mkinitrd; is it fixed now?

Comment 6 Jean-Philippe Dionne 2007-12-07 00:16:12 UTC
The problem is still there with:
 mkinitrd-6.0.19-4.fc8
 kernel-2.6.23.8-63.fc8

This bug appears to be related to bug 378651 .


Comment 7 Jon Stanley 2008-01-17 00:56:07 UTC
Closing this as duplicate to 378651 in that case.  Have you had a chance to try
the test packages that are located there?

*** This bug has been marked as a duplicate of 378651 ***

Comment 8 Jean-Philippe Dionne 2008-01-22 20:15:35 UTC
According to bug 378651, I have tested with mkinitrd-6.0.19-4.fc8 and
kernel-2.6.23.9-85.fc8 (from fedora-updates ) and the firmware still does not
load at boot (in initrd) but loads right after.   I opened the initrd file and
saw the firmwares are located at the riqht place (/lib/firmware).   

Something else is preventing the firmware to load at boot.  Any idea of what it
could be?

At boot:
qla2xxx 0000:03:01.0: Found an ISP2312, irq 28, iobase 0xffffc20001438000
qla2xxx 0000:03:01.0: Configuring PCI space...
qla2xxx 0000:03:01.0: Configure NVRAM parameters...
qla2xxx 0000:03:01.0: Verifying loaded RISC code...
qla2xxx 0000:03:01.0: Firmware image unavailable.
qla2xxx 0000:03:01.0: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:03:01.0: Failed to initialize adapter


After boot:
$ modprobe qla2xxx
$ dmesg
...
qla2xxx 0000:03:01.0: Found an ISP2312, irq 28, iobase 0xffffc2000143c000
qla2xxx 0000:03:01.0: Configuring PCI space...
qla2xxx 0000:03:01.0: Configure NVRAM parameters...
qla2xxx 0000:03:01.0: Verifying loaded RISC code...
qla2xxx 0000:03:01.0: Allocated (412 KB) for firmware dump...
qla2xxx 0000:03:01.0: LIP reset occured (f7f7).
scsi5 : qla2xxx
qla2xxx 0000:03:01.0:
 QLogic Fibre Channel HBA Driver: 8.02.00-k3
  QLogic QLA2340-SUN -
  ISP2312: PCI-X (133 MHz) @ 0000:03:01.0 hdma-, host#=5, fw=3.03.20 IPX
...