The EEPROM device will contain an invalid signature if it has been
populated from iNVM. Since the iNVM enum type has been removed, the
only way to tell if a signature check makes sense is to look at the
EEPROM valid status.

Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
---
 drivers/net/e1000/eeprom.c | 10 ++++------
 drivers/net/e1000/main.c   |  2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c
index 0a28dfdd8868..b0408107bbdd 100644
--- a/drivers/net/e1000/eeprom.c
+++ b/drivers/net/e1000/eeprom.c
@@ -1006,12 +1006,10 @@ int e1000_validate_eeprom_checksum(struct e1000_hw *hw)
        DEBUGFUNC();
 
        /*
-         Only the following three 'types' of EEPROM can be expected
-         to have correct EEPROM checksum
-       */
-       if (hw->eeprom.type != e1000_eeprom_spi &&
-           hw->eeprom.type != e1000_eeprom_microwire &&
-           hw->eeprom.type != e1000_eeprom_flash)
+        * If the EEPROM device content isn't valid there is no point in
+        * checking the signature.
+        */
+       if (!e1000_eeprom_valid(hw))
                return 0;
 
        /* Read the EEPROM */
diff --git a/drivers/net/e1000/main.c b/drivers/net/e1000/main.c
index 0139c4a6d758..bb6ab4eb0360 100644
--- a/drivers/net/e1000/main.c
+++ b/drivers/net/e1000/main.c
@@ -3597,7 +3597,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct 
pci_device_id *id)
                }
        }
 
-       if (!e1000_eeprom_valid(hw) || e1000_validate_eeprom_checksum(hw))
+       if (e1000_validate_eeprom_checksum(hw))
                return 0;
 
        e1000_get_ethaddr(edev, edev->ethaddr);
-- 
2.15.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to