On Tue, Jun 04, 2019 at 10:58:41PM +0300, Vladimir Oltean wrote: > Hi, > > I've been wondering what is the correct approach to cut the Ethernet link > when the user requests it to be administratively down (aka ip link set dev > eth0 down). > Most of the Ethernet drivers simply call phy_stop or the phylink equivalent. > This leaves an Ethernet link between the PHY and its link partner. > The Freescale gianfar driver (authored by Andy Fleming who also authored the > phylib) does a phy_disconnect here. It may seem a bit overkill, but of the > extra things it does, it calls phy_suspend where most PHY drivers set the > BMCR_PDOWN bit. Only this achieves the intended purpose of also cutting the > link partner's link on 'ip link set dev eth0 down'.
Hi Vladimir Heiner knows the state machine better than i. But when we transition to PHY_HALTED, as part of phy_stop(), it should do a phy_suspend(). Andrew