]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] use longer delays on 3c509
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 1 Nov 2002 03:39:19 +0000 (19:39 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 1 Nov 2002 03:39:19 +0000 (19:39 -0800)
Som boards dont seem to be in spec

drivers/net/3c509.c

index db8b01d83e8806f4a26bb3652f2ed1b0d9db4283..9c87f349b1244fb5c08160469e00f462ed1556e8 100644 (file)
                        - Full duplex support
                v1.19  16Oct2002 Zwane Mwaikambo <zwane@linuxpower.ca>
                        - Additional ethtool features
+               v1.19a 28Oct2002 Davud Ruggiero <jdr@farfalle.com>
+                       - Increase *read_eeprom udelay to workaround oops with 2 cards.
 */
 
 #define DRV_NAME       "3c509"
-#define DRV_VERSION    "1.19"
-#define DRV_RELDATE    "16Oct2002"
+#define DRV_VERSION    "1.19a"
+#define DRV_RELDATE    "28Oct2002"
 
 /* A few values that may be tweaked. */
 
@@ -570,8 +572,9 @@ no_pnp:
 static ushort read_eeprom(int ioaddr, int index)
 {
        outw(EEPROM_READ + index, ioaddr + 10);
-       /* Pause for at least 162 us. for the read to take place. */
-       udelay (500);
+       /* Pause for at least 162 us. for the read to take place. 
+          Some chips seem to require much longer */
+       mdelay(2);
        return inw(ioaddr + 12);
 }
 
@@ -585,7 +588,8 @@ static ushort __init id_read_eeprom(int index)
        outb(EEPROM_READ + index, id_port);
 
        /* Pause for at least 162 us. for the read to take place. */
-       udelay (500);
+       /* Some chips seem to require much longer */
+       mdelay(4);
        
        for (bit = 15; bit >= 0; bit--)
                word = (word << 1) + (inb(id_port) & 0x01);