Bug 11645
Summary: | qla2xxx.ko can't load firmware binary code | ||
---|---|---|---|
Product: | SCSI Drivers | Reporter: | Nerijus Kislauskas (nerijus.kislauskas) |
Component: | QLOGIC QLA2XXX | Assignee: | Seokmann Ju (seokmann.ju) |
Status: | CLOSED CODE_FIX | ||
Severity: | high | CC: | seokmann.ju |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26.5 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
dmesg output for qla2xxx.ko loading firmware binary
.config file for the platform tested |
Description
Nerijus Kislauskas
2008-09-25 03:54:30 UTC
Created attachment 18033 [details]
dmesg output for qla2xxx.ko loading firmware binary
dmesg output for qla2xxx.ko loading firmware binary
Created attachment 18034 [details]
.config file for the platform tested
This is a .config file for the H/W platform that has been used for the test.
As in the comment #1, the issue couldn't be duplicated... Does this issue happens on certain H/W platform as you specified above: IBM eServer xSeries 346? Could you try on other platforms? Here is snipped of the dmesg which shows the firmware loading done successfully, --- ... QLogic Fibre Channel HBA Driver: 8.02.01-k4 ACPI: PCI Interrupt 0000:07:01.0[A] -> GSI 24 (level, low) -> IRQ 24 qla2xxx 0000:07:01.0: Found an ISP2312, irq 24, iobase 0xffffc2000064c000 qla2xxx 0000:07:01.0: Configuring PCI space... qla2xxx 0000:07:01.0: Configure NVRAM parameters... qla2xxx 0000:07:01.0: Verifying loaded RISC code... firmware: requesting ql2300_fw.bin qla2xxx 0000:07:01.0: Allocated (412 KB) for firmware dump... scsi4 : qla2xxx qla2xxx 0000:07:01.0: QLogic Fibre Channel HBA Driver: 8.02.01-k4 QLogic QLA2342 - 133MHz PCI-X to 2Gb FC, Dual Channel ISP2312: PCI-X (133 MHz) @ 0000:07:01.0 hdma+, host#=4, fw=3.03.20 IPX ... --- No, for now we can't test on other platforms. There is only one environment available. With Debian kernel 2.6.24-etchnhalf.1-686 it loads perfectly: Sep 25 13:28:50 ameba kernel: QLogic Fibre Channel HBA Driver Sep 25 13:28:50 ameba kernel: ACPI: PCI Interrupt 0000:04:04.0[A] -> GSI 96 (level, low) -> IRQ 19 Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Found an ISP2312, irq 19, iobase 0xf89c8000 Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Configuring PCI space... Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Configure NVRAM parameters... Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Verifying loaded RISC code... Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Allocated (412 KB) for firmware dump... Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: LIP reset occured (f7f7). Sep 25 13:28:50 ameba kernel: scsi2 : qla2xxx Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: Sep 25 13:28:50 ameba kernel: QLogic Fibre Channel HBA Driver: 8.02.00-k5 Sep 25 13:28:50 ameba kernel: QLogic QLA2340 - 133MHz PCI-X to 2Gb FC, Single Channel Sep 25 13:28:50 ameba kernel: ISP2312: PCI-X (133 MHz) @ 0000:04:04.0 hdma-, host#=2, fw=3.03.20 IPX Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: LIP occured (f7f7). Sep 25 13:28:50 ameba kernel: qla2xxx 0000:04:04.0: LOOP UP detected (2 Gbps). Sep 25 13:28:51 ameba kernel: scsi 2:0:0:0: Direct-Access IBM DS400 S320 7.01 PQ: 0 ANSI: 4 Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] 3440107520 512-byte hardware sectors (1761335 MB) Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Write Protect is off Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Mode Sense: 8f 00 00 08 Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] 3440107520 512-byte hardware sectors (1761335 MB) Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Write Protect is off Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Mode Sense: 8f 00 00 08 Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA Sep 25 13:28:51 ameba kernel: sdb: sdb1 Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: [sdb] Attached SCSI disk Sep 25 13:28:51 ameba kernel: sd 2:0:0:0: Attached scsi generic sg3 type 0 Main thing is, that we don't want Debian default kernel. We want our compiled kernel 2.6.24.5 or greater. What I'm doing wrong? If you need some other information, just give me a note. OK. Then, could you try with upstream kernel 2.6.26.5? My point is that, for same driver on the same base kernel version with different flavor - one from the community and the other one from Debian, the former one works but, the latter one doesn't. I consider it should be related kernel components on the kernel which you are using, at least in my opinion, it should point out where the problem resides if the problem disappear with the upstream kernel on your H/W platform. Nerijus, I'm not very familiar with Debian and their support for a driver's use of the request_firmware() interface. Looking at the codes 2.6.24 debian-sources, the qla2xxx driver is in fact already using request_firmware(). Loading of firmware is handled behind the scenes for driver, a call is made within the driver and the requisite kernel-space/user-space dialogue occurs via kobject messages and reading/writing to sysfs nodes. You can see that being done here (2.6.25): Sep 25 13:08:12 ameba kernel: [72135.637331] firmware: requesting ql2300_fw.bin Sep 25 13:08:22 ameba kernel: [72145.634358] qla2xxx 0000:04:04.0: Firmware image unavailable. Is the driver being loaded from an initramfs image? Has the firmware been built into that image? Hi guys, Andrew, thanks for pointing me to right direction. The problem was my kernel configuration. I enabled this option: CONFIG_TMPFS=y in 2.6.24.5, and everything works fine. tmpfs somehow related to udev and uevents. No doubt, that it will work in other versions too. Thanks again. You may now close this ticket. Accepted to close. As in the comment #7, enabling kernel configuration parameter fixes the problem. |