From 923efe61c38470ab015fecc4400cc7280c53de4b Mon Sep 17 00:00:00 2001 From: Wenzhuo Lu Date: Fri, 16 Oct 2015 10:51:06 +0800 Subject: [PATCH] e1000/base: fix link detect flow In case that auto-negotiate is not enabled, call e1000_setup_copper_link_generic instead of e1000_phy_setup_autoneg. Signed-off-by: Wenzhuo Lu --- drivers/net/e1000/base/e1000_ich8lan.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c index ba22f52032..37f61951d7 100644 --- a/drivers/net/e1000/base/e1000_ich8lan.c +++ b/drivers/net/e1000/base/e1000_ich8lan.c @@ -1252,10 +1252,15 @@ s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) /* Restore link speed advertisements and restart * Auto-negotiation */ - ret_val = e1000_phy_setup_autoneg(hw); - if (ret_val) - goto out; - + if (hw->mac.autoneg) { + ret_val = e1000_phy_setup_autoneg(hw); + if (ret_val) + goto out; + } else { + ret_val = e1000_setup_copper_link_generic(hw); + if (ret_val) + goto out; + } ret_val = e1000_oem_bits_config_ich8lan(hw, true); } -- 2.20.1