diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2010-07-30 14:26:31 +0530 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-08-06 11:58:07 -0500 |
commit | 9d4946f89fc050cadf66d08c47379ab62848a5b7 (patch) | |
tree | ea7334e1225ba21d1ad35b307e2b8aacbd780de3 /drivers/scsi | |
parent | b173a132cbf0a4a48b2f341716e20a6d8b24957e (diff) | |
download | linux-9d4946f89fc050cadf66d08c47379ab62848a5b7.tar.gz linux-9d4946f89fc050cadf66d08c47379ab62848a5b7.tar.bz2 linux-9d4946f89fc050cadf66d08c47379ab62848a5b7.zip |
[SCSI] qla4xxx: Stop firmware before doing init firmware.
If BIOS is enabled then drivers init firmware fails since
BIOS has done the init once.
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_init.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index b69c5736cb43..39048d9339ac 100644 --- a/drivers/scsi/qla4xxx/ql4_init.c +++ b/drivers/scsi/qla4xxx/ql4_init.c @@ -445,6 +445,12 @@ static int qla4xxx_init_firmware(struct scsi_qla_host *ha) { int status = QLA_ERROR; + /* For 82xx, stop firmware before initializing because if BIOS + * has previously initialized firmware, then driver's initialize + * firmware will fail. */ + if (is_qla8022(ha)) + qla4_8xxx_stop_firmware(ha); + ql4_printk(KERN_INFO, ha, "Initializing firmware..\n"); if (qla4xxx_initialize_fw_cb(ha) == QLA_ERROR) { DEBUG2(printk("scsi%ld: %s: Failed to initialize firmware " |