diff options
Diffstat (limited to 'drivers/net/mdio')
| -rw-r--r-- | drivers/net/mdio/mdio-aspeed.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/drivers/net/mdio/mdio-aspeed.c b/drivers/net/mdio/mdio-aspeed.c index cad820568f75..966c3b4ad59d 100644 --- a/drivers/net/mdio/mdio-aspeed.c +++ b/drivers/net/mdio/mdio-aspeed.c @@ -61,6 +61,13 @@ static int aspeed_mdio_read(struct mii_bus *bus, int addr, int regnum)  	iowrite32(ctrl, ctx->base + ASPEED_MDIO_CTRL); +	rc = readl_poll_timeout(ctx->base + ASPEED_MDIO_CTRL, ctrl, +				!(ctrl & ASPEED_MDIO_CTRL_FIRE), +				ASPEED_MDIO_INTERVAL_US, +				ASPEED_MDIO_TIMEOUT_US); +	if (rc < 0) +		return rc; +  	rc = readl_poll_timeout(ctx->base + ASPEED_MDIO_DATA, data,  				data & ASPEED_MDIO_DATA_IDLE,  				ASPEED_MDIO_INTERVAL_US, |