On 10/25/2017 04:21 PM, Florian Fainelli wrote:
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


Light testing demonstrates that the links are usable and the systems no longer crash. The WARNING you added is being activated, which indicates we need to fix the netdev drivers. We are working on some patches for this now.

Thanks,
David



- 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(-)


Reply via email to