[dpdk-dev,20/34] e1000/base: fix link detect flow

Message ID 1444804479-14840-21-git-send-email-wenzhuo.lu@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Wenzhuo Lu Oct. 14, 2015, 6:34 a.m. UTC
  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 <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/base/e1000_ich8lan.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
  

Patch

diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c
index 5635dd5..d10c5d8 100644
--- a/drivers/net/e1000/base/e1000_ich8lan.c
+++ b/drivers/net/e1000/base/e1000_ich8lan.c
@@ -1254,10 +1254,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);
 		}