On Wed, Sep 29, 2004 at 12:30:23PM -0400, Alan Cox wrote:
The 3com EEPROM has a checksum but unfortunately it seems that a zapped
EEPROM returning all zero values passes the checksum test fine and we try
and use it.
--- drivers/net/3c59x.c~ 2004-09-29 17:23:42.964453264 +0100
+++ drivers/net/3c59x.c 2004-09-29 17:28:40.358242536 +0100
@@ -1295,6 +1295,13 @@
for (i = 0; i < 6; i++)
printk("%c%2.2x", i ? ':' : ' ', dev->dev_addr[i]);
}
+ /* Unfortunately an all zero eeprom passes the checksum and this
+ gets found in the wild in failure cases. Crypto is hard 8) */
+ if (memcmp(dev->dev_addr, "\0\0\0\0\0", 6) == 0) {
Shouldn't this be using is_valid_ether_addr() ?