[SCSI] qla4xxx: fix compile warning due to invalid extHwConfig

If the nvram is invalid qla4xxx tries to set Asuint32_t
based on the card type. If the card type is not listed
then Asuint32_t is going to be gargabe. This just fixes
that if/elseif by adding a else to catch the case for
new hardware that might not be listed yet.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Mike Christie 2010-02-10 16:51:48 -06:00 committed by James Bottomley
parent b64e77f70b
commit b3925514f6

View File

@ -844,10 +844,10 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha)
DEBUG2(printk("scsi%ld: %s: Get EEProm parameters \n", ha->host_no, DEBUG2(printk("scsi%ld: %s: Get EEProm parameters \n", ha->host_no,
__func__)); __func__));
if (ql4xxx_lock_flash(ha) != QLA_SUCCESS) if (ql4xxx_lock_flash(ha) != QLA_SUCCESS)
return (QLA_ERROR); return QLA_ERROR;
if (ql4xxx_lock_nvram(ha) != QLA_SUCCESS) { if (ql4xxx_lock_nvram(ha) != QLA_SUCCESS) {
ql4xxx_unlock_flash(ha); ql4xxx_unlock_flash(ha);
return (QLA_ERROR); return QLA_ERROR;
} }
/* Get EEPRom Parameters from NVRAM and validate */ /* Get EEPRom Parameters from NVRAM and validate */
@ -858,20 +858,18 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha)
rd_nvram_word(ha, eeprom_ext_hw_conf_offset(ha)); rd_nvram_word(ha, eeprom_ext_hw_conf_offset(ha));
spin_unlock_irqrestore(&ha->hardware_lock, flags); spin_unlock_irqrestore(&ha->hardware_lock, flags);
} else { } else {
/*
* QLogic adapters should always have a valid NVRAM.
* If not valid, do not load.
*/
dev_warn(&ha->pdev->dev, dev_warn(&ha->pdev->dev,
"scsi%ld: %s: EEProm checksum invalid. " "scsi%ld: %s: EEProm checksum invalid. "
"Please update your EEPROM\n", ha->host_no, "Please update your EEPROM\n", ha->host_no,
__func__); __func__);
/* set defaults */ /* Attempt to set defaults */
if (is_qla4010(ha)) if (is_qla4010(ha))
extHwConfig.Asuint32_t = 0x1912; extHwConfig.Asuint32_t = 0x1912;
else if (is_qla4022(ha) | is_qla4032(ha)) else if (is_qla4022(ha) | is_qla4032(ha))
extHwConfig.Asuint32_t = 0x0023; extHwConfig.Asuint32_t = 0x0023;
else
return QLA_ERROR;
} }
DEBUG(printk("scsi%ld: %s: Setting extHwConfig to 0xFFFF%04x\n", DEBUG(printk("scsi%ld: %s: Setting extHwConfig to 0xFFFF%04x\n",
ha->host_no, __func__, extHwConfig.Asuint32_t)); ha->host_no, __func__, extHwConfig.Asuint32_t));
@ -884,7 +882,7 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha)
ql4xxx_unlock_nvram(ha); ql4xxx_unlock_nvram(ha);
ql4xxx_unlock_flash(ha); ql4xxx_unlock_flash(ha);
return (QLA_SUCCESS); return QLA_SUCCESS;
} }
static void qla4x00_pci_config(struct scsi_qla_host *ha) static void qla4x00_pci_config(struct scsi_qla_host *ha)