diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2010-07-30 04:56:31 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-08-06 12:58:07 -0400 |
commit | 9d4946f89fc050cadf66d08c47379ab62848a5b7 (patch) | |
tree | ea7334e1225ba21d1ad35b307e2b8aacbd780de3 /drivers/scsi/qla4xxx/ql4_init.c | |
parent | b173a132cbf0a4a48b2f341716e20a6d8b24957e (diff) |
[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/qla4xxx/ql4_init.c')
-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) | |||
445 | { | 445 | { |
446 | int status = QLA_ERROR; | 446 | int status = QLA_ERROR; |
447 | 447 | ||
448 | /* For 82xx, stop firmware before initializing because if BIOS | ||
449 | * has previously initialized firmware, then driver's initialize | ||
450 | * firmware will fail. */ | ||
451 | if (is_qla8022(ha)) | ||
452 | qla4_8xxx_stop_firmware(ha); | ||
453 | |||
448 | ql4_printk(KERN_INFO, ha, "Initializing firmware..\n"); | 454 | ql4_printk(KERN_INFO, ha, "Initializing firmware..\n"); |
449 | if (qla4xxx_initialize_fw_cb(ha) == QLA_ERROR) { | 455 | if (qla4xxx_initialize_fw_cb(ha) == QLA_ERROR) { |
450 | DEBUG2(printk("scsi%ld: %s: Failed to initialize firmware " | 456 | DEBUG2(printk("scsi%ld: %s: Failed to initialize firmware " |