Hello Florian, Roger and Madalin! This is slightly modified version of previous patch[1].
It take into account that phy_start_aneg() may be called from differend places not only from PHY state machine. So the patch use phy_trigger_machine() to schedule link state update correctly. I borrow some text from Roger's commit message. Added 'Cc: stable <sta...@vger.kernel.org> tag' because the problem exist on 4.9 and 4.10 branches. Don't know what commit brake the code, so I don't add Fixes tag. Roger, could you please test this one patch? Madalin, I found, that you tested Roger’s patch[2] and this one patch will get upstream instead of patch[2]. Could you please test it? Regards, Alexander. [1] http://patchwork.ozlabs.org/patch/743773/ [2] https://lkml.org/lkml/2017/3/30/517 Alexander Kochetkov (1): net: phy: fix auto-negotiation stall due to unavailable interrupt drivers/net/phy/phy.c | 40 ++++++++++++++++++++++++++++++++++++---- include/linux/phy.h | 1 + 2 files changed, 37 insertions(+), 4 deletions(-) -- 1.7.9.5