net: netxen: fix a missing check and an uninitialized use
When netxen_rom_fast_read() fails, "bios" is left uninitialized and may contain random value, thus should not be used. The fix ensures that if netxen_rom_fast_read() fails, we return "-EIO". Signed-off-by: Kangjie Lu <kjlu@umn.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f0c928d878
commit
d134e486e8
|
@ -1125,7 +1125,8 @@ netxen_validate_firmware(struct netxen_adapter *adapter)
|
|||
return -EINVAL;
|
||||
}
|
||||
val = nx_get_bios_version(adapter);
|
||||
netxen_rom_fast_read(adapter, NX_BIOS_VERSION_OFFSET, (int *)&bios);
|
||||
if (netxen_rom_fast_read(adapter, NX_BIOS_VERSION_OFFSET, (int *)&bios))
|
||||
return -EIO;
|
||||
if ((__force u32)val != bios) {
|
||||
dev_err(&pdev->dev, "%s: firmware bios is incompatible\n",
|
||||
fw_name[fw_type]);
|
||||
|
|
Loading…
Reference in New Issue