Re: [PATCH 1/2 scsi-misc] qla1280: use request_firmware

From: Jeremy Higdon
Date: Wed Apr 08 2009 - 03:44:00 EST


On Thu, Apr 02, 2009 at 12:19:19PM +0530, Jaswinder Singh Rajput wrote:
> It seems LKML is rejected old email because of big size. so I am CC LKML
> after deleting firmware blobs:
>
> From: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
> Date: Thu, 2 Apr 2009 11:13:17 +0530
> Subject: [PATCH] qla1280: use request_firmware
>
> Firmware blob is little endian looks like this...
> unsigned char Version1
> unsigned char Version2
> unsigned char Version3
> unsigned char Padding
> unsigned short start_address
> unsigned short data

This patch causes a problem. It looks as though the firmware file may be
incorrectly built for at least 12160. We get a checksum error from the
ISP12160 when it does the checksum:

qla1280 0001:00:03.0: firmware: using built-in firmware qlogic/12160.bin
qla1280_mailbox_command: Command failed, mailbox0 = 0x0007, mailbox_out0 = 0x4003, istatus = 0x6000
m0 4003, m1 b141, m2 5555, m3 aa55
m4 55aa, m5 a5a5, m6 5a5a, m7 2525
scsi(0): RISC checksum failed.
scsi(0): initialize: pci probe failed!
qla1x160: Failed to initialize adapter


>From qla1280_start_firmware():
/* Verify checksum of loaded RISC code. */
mb[0] = MBC_VERIFY_CHECKSUM;
/* mb[1] = ql12_risc_code_addr01; */
mb[1] = ha->fwstart;
err = qla1280_mailbox_command(ha, BIT_1 | BIT_0, mb);
if (err) {
printk(KERN_ERR "scsi(%li): RISC checksum failed.\n", ha->host_no);
return err;
}

jeremy


> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
> ---
> drivers/scsi/ql1040_fw.h | 2130 ----------------------------------------
> drivers/scsi/ql12160_fw.h | 1811 ----------------------------------
> drivers/scsi/ql1280_fw.h | 2048 --------------------------------------
> drivers/scsi/qla1280.c | 114 ++-
> drivers/scsi/qla1280.h | 6 +
> firmware/Makefile | 2 +
> firmware/WHENCE | 13 +
> firmware/qlogic/1040.bin.ihex | 2111 +++++++++++++++++++++++++++++++++++++++
> firmware/qlogic/12160.bin.ihex | 1771 +++++++++++++++++++++++++++++++++
> firmware/qlogic/1280.bin.ihex | 2008 +++++++++++++++++++++++++++++++++++++
> 10 files changed, 5985 insertions(+), 6029 deletions(-)
> delete mode 100644 drivers/scsi/ql1040_fw.h
> delete mode 100644 drivers/scsi/ql12160_fw.h
> delete mode 100644 drivers/scsi/ql1280_fw.h
> create mode 100644 firmware/qlogic/1040.bin.ihex
> create mode 100644 firmware/qlogic/12160.bin.ihex
> create mode 100644 firmware/qlogic/1280.bin.ihex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/