浏览代码

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>
Ben Dooks 17 年之前
父节点
当前提交
513b6bee01
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/net/dm9000.c

+ 1 - 1
drivers/net/dm9000.c

@@ -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;