Florian, On 30/03/17 23:02, Florian Fainelli wrote: > On 03/27/2017 04:59 AM, Roger Quadros wrote: >> The Ethernet link on an interrupt driven PHY was not coming up if the >> Ethernet cable was plugged before the Ethernet interface was brought up. >> >> The PHY state machine seems to be stuck from RUNNING to AN state >> with no new interrupts from the PHY. So it doesn't know when the >> PHY Auto-negotiation has been completed and doesn't transition to RUNNING >> state with ANEG done thus netif_carrier_on() is never called. >> >> NOTE: genphy_config_aneg() will not restart PHY Auto-negotiation of >> advertisement parameters didn't change. >> >> Fix this by scheduling the PHY state machine in phy_start_aneg(). >> There is no way of knowing in phy.c whether auto-negotiation was >> restarted or not by the PHY driver so we just wait for the next >> poll/interrupt to update the PHY state machine. >> >> Fixes: 3c293f4e08b5 ("net: phy: Trigger state machine on state change and not polling.") >> Cc: stable <stable@xxxxxxxxxxxxxxx> # v4.9+ >> Signed-off-by: Roger Quadros <rogerq@xxxxxx> > > Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> > Thanks for the review, but there are a still few unanswered questions in the parallel thread. Can you please clarify those first before this patch gets picked? Thanks. cheers, -roger