[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:
parent
b64e77f70b
commit
b3925514f6
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user