diff --git a/drivers/net/sun4i/sun4i_wemac.c b/drivers/net/sun4i/sun4i_wemac.c
index 92cf994..82c0b74 100644
--- a/drivers/net/sun4i/sun4i_wemac.c
+++ b/drivers/net/sun4i/sun4i_wemac.c
@@ -1559,7 +1559,7 @@ static int wemac_phy_read(struct net_device *dev, int phyaddr_unused, int reg)
        writel(0x1, db->emac_vbase + EMAC_MAC_MCMD_REG);
        spin_unlock_irqrestore(&db->lock, flags);
 
-       wemac_msleep(db, 1); /* Wait read complete */
+       udelay(150); /* Wait read complete */
 
        /* push down the phy io line and read data */
        spin_lock_irqsave(&db->lock, flags);
@@ -1592,7 +1592,7 @@ static void wemac_phy_write(struct net_device *dev,
        writel(0x1, db->emac_vbase + EMAC_MAC_MCMD_REG);
        spin_unlock_irqrestore(&db->lock, flags);
 
-       wemac_msleep(db, 1);            /* Wait write complete */
+       udelay(150);            /* Wait write complete */
 
        spin_lock_irqsave(&db->lock, flags);
        /* push down the phy io line */
