qlcnic: remove fw version check
Don't compare flash and file fw version. Allow to load old fw from file than flashed fw. If file fw is present, don't skip fw re-intialization. Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
aec1e8452d
commit
97f29d8236
@ -1015,8 +1015,6 @@ qlcnic_check_fw_hearbeat(struct qlcnic_adapter *adapter)
|
|||||||
int
|
int
|
||||||
qlcnic_need_fw_reset(struct qlcnic_adapter *adapter)
|
qlcnic_need_fw_reset(struct qlcnic_adapter *adapter)
|
||||||
{
|
{
|
||||||
u32 val, version, major, minor, build;
|
|
||||||
|
|
||||||
if (qlcnic_check_fw_hearbeat(adapter)) {
|
if (qlcnic_check_fw_hearbeat(adapter)) {
|
||||||
qlcnic_rom_lock_recovery(adapter);
|
qlcnic_rom_lock_recovery(adapter);
|
||||||
return 1;
|
return 1;
|
||||||
@ -1025,20 +1023,8 @@ qlcnic_need_fw_reset(struct qlcnic_adapter *adapter)
|
|||||||
if (adapter->need_fw_reset)
|
if (adapter->need_fw_reset)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
/* check if we have got newer or different file firmware */
|
if (adapter->fw)
|
||||||
if (adapter->fw) {
|
return 1;
|
||||||
|
|
||||||
val = qlcnic_get_fw_version(adapter);
|
|
||||||
|
|
||||||
version = QLCNIC_DECODE_VERSION(val);
|
|
||||||
|
|
||||||
major = QLCRD32(adapter, QLCNIC_FW_VERSION_MAJOR);
|
|
||||||
minor = QLCRD32(adapter, QLCNIC_FW_VERSION_MINOR);
|
|
||||||
build = QLCRD32(adapter, QLCNIC_FW_VERSION_SUB);
|
|
||||||
|
|
||||||
if (version > QLCNIC_VERSION_CODE(major, minor, build))
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1174,18 +1160,6 @@ qlcnic_validate_firmware(struct qlcnic_adapter *adapter)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check if flashed firmware is newer */
|
|
||||||
if (qlcnic_rom_fast_read(adapter,
|
|
||||||
QLCNIC_FW_VERSION_OFFSET, (int *)&val))
|
|
||||||
return -EIO;
|
|
||||||
|
|
||||||
val = QLCNIC_DECODE_VERSION(val);
|
|
||||||
if (val > ver) {
|
|
||||||
dev_info(&pdev->dev, "%s: firmware is older than flash\n",
|
|
||||||
fw_name[fw_type]);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
QLCWR32(adapter, QLCNIC_CAM_RAM(0x1fc), QLCNIC_BDINFO_MAGIC);
|
QLCWR32(adapter, QLCNIC_CAM_RAM(0x1fc), QLCNIC_BDINFO_MAGIC);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user