igb: fix nvm.ops.read() error handling
authorAleksandr Loktionov <aleksandr.loktionov@intel.com>
Tue, 25 Apr 2023 15:44:14 +0000 (17:44 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 12 Jun 2023 20:33:22 +0000 (13:33 -0700)
Add error handling into igb_set_eeprom() function, in case
nvm.ops.read() fails just quit with error code asap.

Fixes: 9d5c824399de ("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>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index 7d60da1b7bf4182ffebdcbd3ff2c4dbe7df47d6b..319ed601eaa1e9827e7fab48c6d13b01e2bedff1 100644 (file)
@@ -822,6 +822,8 @@ static int igb_set_eeprom(struct net_device *netdev,
                 */
                ret_val = hw->nvm.ops.read(hw, last_word, 1,
                                   &eeprom_buff[last_word - first_word]);
+               if (ret_val)
+                       goto out;
        }
 
        /* 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);
 
        igb_set_fw_version(adapter);
+out:
        kfree(eeprom_buff);
        return ret_val;
 }