DM9000: Update retry count whilst identifying chip
authorBen Dooks <ben-linux@fluff.org>
Tue, 5 Feb 2008 00:02:22 +0000 (00:02 +0000)
committerJeff Garzik <jeff@garzik.org>
Mon, 11 Feb 2008 16:06:36 +0000 (11:06 -0500)
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: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/dm9000.c

index e52078badaaac9a2022656f5aa40b7aaadbc46c0..8e8078283465d0e91a9a5af98f40604ca57c94d3 100644 (file)
@@ -643,7 +643,7 @@ dm9000_probe(struct platform_device *pdev)
        dm9000_reset(db);
 
        /* 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 |= (u32)ior(db, DM9000_VIDH) << 8;
                id_val |= (u32)ior(db, DM9000_PIDL) << 16;