aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igc
diff options
context:
space:
mode:
authorSasha Neftin <sasha.neftin@intel.com>2019-07-24 10:05:46 +0300
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2019-09-09 10:08:38 -0700
commit9b924edd8f23b8f3c14a2c9720ddb27bdfaaecd4 (patch)
treefea9a72068753a57f03b3d975f67c432afd9c496 /drivers/net/ethernet/intel/igc
parentfm10k: use a local variable for the frag pointer (diff)
downloadlinux-dev-9b924edd8f23b8f3c14a2c9720ddb27bdfaaecd4.tar.xz
linux-dev-9b924edd8f23b8f3c14a2c9720ddb27bdfaaecd4.zip
igc: Add NVM checksum validation
Add NVM checksum validation during probe functionality. Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igc')
-rw-r--r--drivers/net/ethernet/intel/igc/igc_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 251552855c40..965d1c939f0f 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -4133,6 +4133,15 @@ static int igc_probe(struct pci_dev *pdev,
*/
hw->mac.ops.reset_hw(hw);
+ if (igc_get_flash_presence_i225(hw)) {
+ if (hw->nvm.ops.validate(hw) < 0) {
+ dev_err(&pdev->dev,
+ "The NVM Checksum Is Not Valid\n");
+ err = -EIO;
+ goto err_eeprom;
+ }
+ }
+
if (eth_platform_get_mac_address(&pdev->dev, hw->mac.addr)) {
/* copy the MAC address out of the NVM */
if (hw->mac.ops.read_mac_addr(hw))