diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-02-05 00:02:22 +0000 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-02-11 11:06:36 -0500 |
commit | 513b6bee0156812bce4f38c497dfc7cf9ee9a609 (patch) | |
tree | c4ace2c39a97a610ff8cde80a73e13ef58d41f9a /drivers/net | |
parent | f42d8aeaf9a32ec130bc99f2e4ba84cafb028244 (diff) |
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: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/dm9000.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c index e52078badaaa..8e8078283465 100644 --- a/drivers/net/dm9000.c +++ b/drivers/net/dm9000.c @@ -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; |