diff options
Diffstat (limited to 'drivers/net/r8169.c')
| -rw-r--r-- | drivers/net/r8169.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 217e709bda3..96b6cfbf0a3 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -559,6 +559,11 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value)  			break;  		udelay(25);  	} +	/* +	 * According to hardware specs a 20us delay is required after write +	 * complete indication, but before sending next command. +	 */ +	udelay(20);  }  static int mdio_read(void __iomem *ioaddr, int reg_addr) @@ -578,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;  }  |