diff -urN linux-2.6.22-suspend2-r1.orig/drivers/net/e1000/e1000_main.c linux-2.6.22-suspend2-r1/drivers/net/e1000/e1000_main.c --- linux-2.6.22-suspend2-r1.orig/drivers/net/e1000/e1000_main.c 2007-08-17 23:32:04.000000000 +0200 +++ linux-2.6.22-suspend2-r1/drivers/net/e1000/e1000_main.c 2007-09-05 16:39:11.000000000 +0200 @@ -999,16 +999,18 @@ goto err_eeprom; } - /* before reading the EEPROM, reset the controller to - * put the device in a known good starting state */ - - e1000_reset_hw(&adapter->hw); - - /* make sure the EEPROM is good */ - if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) { - DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n"); - goto err_eeprom; + /* before reading the EEPROM, reset the controller to + * put the device in a known good starting state */ + + e1000_reset_hw(&adapter->hw); + + /* make sure the EEPROM is good */ + + if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) { + DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n"); + goto err_eeprom; + } } /* copy the MAC address out of the EEPROM */