On 03/23/2017 02:41 PM, Florian Fainelli wrote: > On 03/22/2017 01:27 PM, Zach Brown wrote: >> From: Nathan Sullivan <nathan.sulli...@ni.com> >> >> If the PHY is halted on stop, then do not set the state to PHY_UP. This >> ensures the phy will be restarted later in phy_start when the machine is >> started again. > > So essentially what you want to "defeat" here is entering phy_start() > with PHY_UP therefore not run this part: > > case PHY_HALTED: > /* make sure interrupts are re-enabled for the PHY */ > if (phydev->irq != PHY_POLL) { > err = phy_enable_interrupts(phydev); > if (err < 0) > break; > } > > phydev->state = PHY_RESUMING; > do_resume = true; > break; > > which is what re-enables interrupts and makes sure the PHY is resumed, > right? > > If that's the scenario, I guess: > > Reviewed-by: Florian Fainelli <f.faine...@gmail.com>
And almost forgot: Fixes: 00db8189d984 ("This patch adds a PHY Abstraction Layer to the Linux Kernel, enabling ethernet drivers to remain as ignorant as is reasonable of the connected PHY's design and operation details.") -- Florian