提交 a82a14f4 编写于 作者: B Bruce Allan 提交者: Jeff Kirsher

e1000e: 82571-based mezzanine card can fail ethtool link test

On certain 82571-based mezzanine NICs in some blade servers, the ethtool
link test can fail due to the serdes_has_link flag not set correctly.
Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
Tested-by: NEmil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 9633e63b
...@@ -1523,8 +1523,10 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw) ...@@ -1523,8 +1523,10 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw)
e1000_serdes_link_autoneg_progress; e1000_serdes_link_autoneg_progress;
mac->serdes_has_link = false; mac->serdes_has_link = false;
e_dbg("AN_UP -> AN_PROG\n"); e_dbg("AN_UP -> AN_PROG\n");
} else {
mac->serdes_has_link = true;
} }
break; break;
case e1000_serdes_link_forced_up: case e1000_serdes_link_forced_up:
/* /*
...@@ -1543,6 +1545,8 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw) ...@@ -1543,6 +1545,8 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw)
e1000_serdes_link_autoneg_progress; e1000_serdes_link_autoneg_progress;
mac->serdes_has_link = false; mac->serdes_has_link = false;
e_dbg("FORCED_UP -> AN_PROG\n"); e_dbg("FORCED_UP -> AN_PROG\n");
} else {
mac->serdes_has_link = true;
} }
break; break;
...@@ -1598,6 +1602,7 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw) ...@@ -1598,6 +1602,7 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw)
ew32(CTRL, (ctrl & ~E1000_CTRL_SLU)); ew32(CTRL, (ctrl & ~E1000_CTRL_SLU));
mac->serdes_link_state = mac->serdes_link_state =
e1000_serdes_link_autoneg_progress; e1000_serdes_link_autoneg_progress;
mac->serdes_has_link = false;
e_dbg("DOWN -> AN_PROG\n"); e_dbg("DOWN -> AN_PROG\n");
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册