diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2010-02-10 17:51:48 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-17 14:40:19 -0500 |
commit | b3925514f6f6878e3f671fb6990874e731a26d02 (patch) | |
tree | 01a0d638a0155f1db2b168b5fa288341bc043cdd /drivers | |
parent | b64e77f70b8c11766e967e3485331a9e6ef01390 (diff) |
[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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_init.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index af8c3233e8a..92329a461c6 100644 --- a/drivers/scsi/qla4xxx/ql4_init.c +++ b/drivers/scsi/qla4xxx/ql4_init.c | |||
@@ -844,10 +844,10 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha) | |||
844 | DEBUG2(printk("scsi%ld: %s: Get EEProm parameters \n", ha->host_no, | 844 | DEBUG2(printk("scsi%ld: %s: Get EEProm parameters \n", ha->host_no, |
845 | __func__)); | 845 | __func__)); |
846 | if (ql4xxx_lock_flash(ha) != QLA_SUCCESS) | 846 | if (ql4xxx_lock_flash(ha) != QLA_SUCCESS) |
847 | return (QLA_ERROR); | 847 | return QLA_ERROR; |
848 | if (ql4xxx_lock_nvram(ha) != QLA_SUCCESS) { | 848 | if (ql4xxx_lock_nvram(ha) != QLA_SUCCESS) { |
849 | ql4xxx_unlock_flash(ha); | 849 | ql4xxx_unlock_flash(ha); |
850 | return (QLA_ERROR); | 850 | return QLA_ERROR; |
851 | } | 851 | } |
852 | 852 | ||
853 | /* Get EEPRom Parameters from NVRAM and validate */ | 853 | /* Get EEPRom Parameters from NVRAM and validate */ |
@@ -858,20 +858,18 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha) | |||
858 | rd_nvram_word(ha, eeprom_ext_hw_conf_offset(ha)); | 858 | rd_nvram_word(ha, eeprom_ext_hw_conf_offset(ha)); |
859 | spin_unlock_irqrestore(&ha->hardware_lock, flags); | 859 | spin_unlock_irqrestore(&ha->hardware_lock, flags); |
860 | } else { | 860 | } else { |
861 | /* | ||
862 | * QLogic adapters should always have a valid NVRAM. | ||
863 | * If not valid, do not load. | ||
864 | */ | ||
865 | dev_warn(&ha->pdev->dev, | 861 | dev_warn(&ha->pdev->dev, |
866 | "scsi%ld: %s: EEProm checksum invalid. " | 862 | "scsi%ld: %s: EEProm checksum invalid. " |
867 | "Please update your EEPROM\n", ha->host_no, | 863 | "Please update your EEPROM\n", ha->host_no, |
868 | __func__); | 864 | __func__); |
869 | 865 | ||
870 | /* set defaults */ | 866 | /* Attempt to set defaults */ |
871 | if (is_qla4010(ha)) | 867 | if (is_qla4010(ha)) |
872 | extHwConfig.Asuint32_t = 0x1912; | 868 | extHwConfig.Asuint32_t = 0x1912; |
873 | else if (is_qla4022(ha) | is_qla4032(ha)) | 869 | else if (is_qla4022(ha) | is_qla4032(ha)) |
874 | extHwConfig.Asuint32_t = 0x0023; | 870 | extHwConfig.Asuint32_t = 0x0023; |
871 | else | ||
872 | return QLA_ERROR; | ||
875 | } | 873 | } |
876 | DEBUG(printk("scsi%ld: %s: Setting extHwConfig to 0xFFFF%04x\n", | 874 | DEBUG(printk("scsi%ld: %s: Setting extHwConfig to 0xFFFF%04x\n", |
877 | ha->host_no, __func__, extHwConfig.Asuint32_t)); | 875 | ha->host_no, __func__, extHwConfig.Asuint32_t)); |
@@ -884,7 +882,7 @@ static int qla4xxx_config_nvram(struct scsi_qla_host *ha) | |||
884 | ql4xxx_unlock_nvram(ha); | 882 | ql4xxx_unlock_nvram(ha); |
885 | ql4xxx_unlock_flash(ha); | 883 | ql4xxx_unlock_flash(ha); |
886 | 884 | ||
887 | return (QLA_SUCCESS); | 885 | return QLA_SUCCESS; |
888 | } | 886 | } |
889 | 887 | ||
890 | static void qla4x00_pci_config(struct scsi_qla_host *ha) | 888 | static void qla4x00_pci_config(struct scsi_qla_host *ha) |