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: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Родитель
9633e63bb1
Коммит
a82a14f4cd
|
@ -1523,6 +1523,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("AN_UP -> AN_PROG\n");
|
e_dbg("AN_UP -> AN_PROG\n");
|
||||||
|
} else {
|
||||||
|
mac->serdes_has_link = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -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)
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче