igb: fix nvm.ops.read() error handling
[ Upstream commit 48a821fd58837800750ec1b3962f0f799630a844 ]
Add error handling into igb_set_eeprom() function, in case
nvm.ops.read() fails just quit with error code asap.
Fixes: 9d5c824399 ("igb: PCI-Express 82575 Gigabit Ethernet driver")
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
221281d60c
commit
8c3446ab59
@@ -822,6 +822,8 @@ static int igb_set_eeprom(struct net_device *netdev,
|
|||||||
*/
|
*/
|
||||||
ret_val = hw->nvm.ops.read(hw, last_word, 1,
|
ret_val = hw->nvm.ops.read(hw, last_word, 1,
|
||||||
&eeprom_buff[last_word - first_word]);
|
&eeprom_buff[last_word - first_word]);
|
||||||
|
if (ret_val)
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Device's eeprom is always little-endian, word addressable */
|
/* Device's eeprom is always little-endian, word addressable */
|
||||||
@@ -841,6 +843,7 @@ static int igb_set_eeprom(struct net_device *netdev,
|
|||||||
hw->nvm.ops.update(hw);
|
hw->nvm.ops.update(hw);
|
||||||
|
|
||||||
igb_set_fw_version(adapter);
|
igb_set_fw_version(adapter);
|
||||||
|
out:
|
||||||
kfree(eeprom_buff);
|
kfree(eeprom_buff);
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user