Commit 513b6bee authored by Ben Dooks's avatar Ben Dooks Committed by Jeff Garzik

DM9000: Update retry count whilst identifying chip

Reading the ID register does not always return the correct ID
from the device, so we retry several times to see if we get
a correct value.

These failures seem to be excaserbated by the speed of the
access to the chip (possibly time between issuing the address
and then the data cycle).
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent f42d8aea
...@@ -643,7 +643,7 @@ dm9000_probe(struct platform_device *pdev) ...@@ -643,7 +643,7 @@ dm9000_probe(struct platform_device *pdev)
dm9000_reset(db); dm9000_reset(db);
/* try two times, DM9000 sometimes gets the first read wrong */ /* try two times, DM9000 sometimes gets the first read wrong */
for (i = 0; i < 2; i++) { for (i = 0; i < 8; i++) {
id_val = ior(db, DM9000_VIDL); id_val = ior(db, DM9000_VIDL);
id_val |= (u32)ior(db, DM9000_VIDH) << 8; id_val |= (u32)ior(db, DM9000_VIDH) << 8;
id_val |= (u32)ior(db, DM9000_PIDL) << 16; id_val |= (u32)ior(db, DM9000_PIDL) << 16;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment