|
@@ -560,10 +560,10 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value)
|
|
|
udelay(25);
|
|
|
}
|
|
|
/*
|
|
|
- * Some configurations require a small delay even after the write
|
|
|
- * completed indication or the next write might fail.
|
|
|
+ * According to hardware specs a 20us delay is required after write
|
|
|
+ * complete indication, but before sending next command.
|
|
|
*/
|
|
|
- udelay(25);
|
|
|
+ udelay(20);
|
|
|
}
|
|
|
|
|
|
static int mdio_read(void __iomem *ioaddr, int reg_addr)
|
|
@@ -583,6 +583,12 @@ static int mdio_read(void __iomem *ioaddr, int reg_addr)
|
|
|
}
|
|
|
udelay(25);
|
|
|
}
|
|
|
+ /*
|
|
|
+ * According to hardware specs a 20us delay is required after read
|
|
|
+ * complete indication, but before sending next command.
|
|
|
+ */
|
|
|
+ udelay(20);
|
|
|
+
|
|
|
return value;
|
|
|
}
|
|
|
|