igb: Fix set_ethtool function to call update nvm for entire image
authorCarolyn Wyborny <carolyn.wyborny@intel.com>
Thu, 25 Apr 2013 17:22:34 +0000 (17:22 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 21 May 2013 09:49:34 +0000 (02:49 -0700)
This patch fixes a problem where we were only checking to update checksum
on first part of nvm image.  Newer parts have multiple checksum fields and
checksum function will accommodate that as long as we call it in the first
place for any changes made.

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index 7b25ee2..85fe7b5 100644 (file)
@@ -811,10 +811,8 @@ static int igb_set_eeprom(struct net_device *netdev,
        ret_val = hw->nvm.ops.write(hw, first_word,
                                    last_word - first_word + 1, eeprom_buff);
 
-       /* Update the checksum over the first part of the EEPROM if needed
-        * and flush shadow RAM for 82573 controllers
-        */
-       if ((ret_val == 0) && ((first_word <= NVM_CHECKSUM_REG)))
+       /* Update the checksum if nvm write succeeded */
+       if (ret_val == 0)
                hw->nvm.ops.update(hw);
 
        igb_set_fw_version(adapter);