Hi all,

This patch series tries to address the shortcomings of the previously and then
quickly reverted commit 7ad813f208533cebfcc32d3d7474dc1677d1b09a ("net: phy:
Correctly process PHY_HALTED in phy_stop_machine()")

This time, the empire returns and strikes back with a few additional changes:

- catch phy_disconnect() calls without prior phy_stop() and warn when that
  happens since that means a driver is not behaving properly. This is AFAIR
  the case in which David Daney ran into

- what David also was running into is that when the PHY state machine was
  already in PHY_HALTED, its synchronous call in phy_disconnect() would make
  us re-schedule ourselves at the end. This is unnecessary, and we now take
  care of that

- finally, Geert experienced bus errors on smsc911x for a number of reasons,
  but the primary one is that the driver does not do any management of the
  PHY state machine during suspend/resume. The last patch corrects that, and
  also suggests that the driver should be fixed to properly support Wake-on-LAN
  configuration to possibly suspend the PHY.

David, Marc and Geert, I would appreciate if you could give this patch series
a spin on your respective HW and confirm that the desired functionality is
achieved.

Florian Fainelli (4):
  net: phy: Export phy_stop_machine()
  net: smsc911x: Properly manage PHY during suspend/resume
  net: phy: Force PHY_HALTED during phy_disconnect()
  net: phy: Correctly process PHY_HALTED in phy_stop_machine()

 drivers/net/ethernet/smsc/smsc911x.c |  7 +++++++
 drivers/net/phy/phy.c                | 13 +++++++++++--
 drivers/net/phy/phy_device.c         |  5 +++++
 3 files changed, 23 insertions(+), 2 deletions(-)

-- 
2.9.3

Reply via email to