On Sun, 2017-04-02 at 13:35 +1000, Benjamin Herrenschmidt wrote: > + } else if (priv->cur_speed) { > + /* No link, just return. Leave the HW alone so it can > + * continue draining the tx ring. > + */ > + netdev_info(netdev, "Link down\n"); > return; > + } > > - priv->old_speed = phydev->speed; > + priv->cur_speed = new_speed; > + priv->cur_duplex = phydev->duplex;
Finding my own bugs too ... the return above makes us fail to update priv->cur_speed, thus the driver still thinks we have a link. Not a huge deal but I'll fix too. (Caused by a recent re-org in that code). Cheers, Ben.