From e1eab7dfa6f3445ee1b1b0e6b7f029437de19ea5 Mon Sep 17 00:00:00 2001 From: Jose Abreu Date: Fri, 20 Mar 2020 10:53:36 +0100 Subject: [PATCH] net: phy: xpcs: Set Link down if AutoNeg is enabled and did not finish Set XPCS Link as down when AutoNeg is enabled but it didn't finish with success. Signed-off-by: Jose Abreu Signed-off-by: David S. Miller --- drivers/net/phy/mdio-xpcs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/mdio-xpcs.c b/drivers/net/phy/mdio-xpcs.c index 54976047dcb9..f10d86b85fbd 100644 --- a/drivers/net/phy/mdio-xpcs.c +++ b/drivers/net/phy/mdio-xpcs.c @@ -617,10 +617,12 @@ static int xpcs_get_state(struct mdio_xpcs_args *xpcs, return xpcs_config(xpcs, state); } - if (state->link && state->an_enabled && xpcs_aneg_done(xpcs, state)) { + if (state->an_enabled && xpcs_aneg_done(xpcs, state)) { state->an_complete = true; xpcs_read_lpa(xpcs, state); xpcs_resolve_lpa(xpcs, state); + } else if (state->an_enabled) { + state->link = 0; } else if (state->link) { xpcs_resolve_pma(xpcs, state); } -- 2.49.0