Re: [bug] e100 bug: checksum mismatch on 82551ER rev10

From: Auke Kok
Date: Mon Jul 10 2006 - 11:24:49 EST


Molle Bestefich wrote:
I'm trying to get Linux running on a Nokia IP130 box.

The 3x Intel i82551ER NICs doesn't work.

Apply this patch which just removes the error return path (and adds a
little debug info):

===============================================================
--- drivers/net/e100.c.orig 2006-07-09 12:03:14.000000000 +0200
+++ drivers/net/e100.c 2006-07-09 12:03:22.000000000 +0200
@@ -756,8 +756,7 @@
* the sum of words should be 0xBABA */
checksum = le16_to_cpu(0xBABA - checksum);
if(checksum != nic->eeprom[nic->eeprom_wc - 1]) {
- DPRINTK(PROBE, ERR, "EEPROM corrupted\n");
- return -EAGAIN;
+ DPRINTK(PROBE, ERR, "EEPROM corrupted (stored: %4.4x, calc'ed: %
4.4x)\n", nic->eeprom[nic->eeprom_wc - 1], checksum);
}

return 0;
===============================================================

And everything works!

I think I've heard about this bug before, but I don't know why it occurs.
So the best I can do is the above (ignore failed EEPROM checksum test).

[removed scott feldman since he's not maintained e100 for a long time now]

Hi,


If you have received a motherboard or card with a broken EEPROM then your card is in a limbo state - it might work but results are unreliable and may cause your entire system to break (and even data corruption).

You should contact the hardware vendor and have the board replaced or upgraded with a proper EEPROM. Continuing to work with the corrupted EEPROM image that you have now can seriously hurt you later on.

Cheers,

Auke
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/