diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2002-10-31 19:39:19 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-10-31 19:39:19 -0800 |
| commit | 25409de19f5e89ae461ef0102aa53eff3f182592 (patch) | |
| tree | c3dc394d10d28fe3d140cc879bff6a363342d2da | |
| parent | 57075741fd14413de99ee67ca7deb913d4d241f5 (diff) | |
[PATCH] use longer delays on 3c509
Som boards dont seem to be in spec
| -rw-r--r-- | drivers/net/3c509.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c index db8b01d83e88..9c87f349b124 100644 --- a/drivers/net/3c509.c +++ b/drivers/net/3c509.c @@ -51,11 +51,13 @@ - 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); |
