diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 0044d75c2984..da3f710d7732 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -1440,6 +1440,9 @@ static int lan78xx_link_reset(struct lan78xx_net *dev) if (unlikely(ret < 0)) return ret; + /* Acknowledge any pending PHY interrupt, lest it be the last */ + phy_read(phydev, LAN88XX_INT_STS); + mutex_lock(&phydev->lock); phy_read_status(phydev); link = phydev->link;