kernel-xen だと Problem with e1000: EEPROM Checksum Is Not Validが100%発動するっぽい…

しょうがないので e1000-7.6.9.1に ThinWikiからパクった

diff -uNr e1000-7.6.9.1/src/e1000\_main.c e1000-7.6.9.1.n/src/e1000\_main.c
--- e1000-7.6.9.1/src/e1000\_main.c      2007-10-13 03:07:57.000000000 +0900
+++ e1000-7.6.9.1.n/src/e1000\_main.c    2007-10-27 01:20:51.446785143 +0900
@@ -1230,7 +1230,15 @@
if (e1000\_validate\_nvm\_checksum(&adapter->hw) < 0) {
DPRINTK(PROBE, ERR, "The NVM Checksum Is Not Valid\\n");
err = -EIO;
-               goto err\_eeprom;
+               e1000\_reset\_hw(&adapter->hw);
+               /\* make sure the EEPROM is good \*/
+               if (e1000\_validate\_nvm\_checksum(&adapter->hw) < 0) {
+                       DPRINTK(PROBE, ERR, "The NVM Checksum Is Not Valid\\n");
+                       goto err\_eeprom;
+               }
}
/\* copy the MAC address out of the NVM \*/

こんなのあてて凌ぐ。