aboutsummaryrefslogtreecommitdiffstats
path: root/src/ich8lan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ich8lan.c')
-rw-r--r--src/ich8lan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ich8lan.c b/src/ich8lan.c
index 4a2342a..8586b67 100644
--- a/src/ich8lan.c
+++ b/src/ich8lan.c
@@ -89,6 +89,7 @@ static s32 e1000_set_lplu_state_pchlan(struct e1000_hw *hw, bool active);
static s32 e1000_id_led_init_pchlan(struct e1000_hw *hw);
static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force);
static s32 e1000_setup_copper_link_pch_lpt(struct e1000_hw *hw);
+static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw);
static s32 e1000_cleanup_led_ich8lan(struct e1000_hw *hw);
static s32 e1000_led_on_ich8lan(struct e1000_hw *hw);
static s32 e1000_led_off_ich8lan(struct e1000_hw *hw);
@@ -429,8 +430,12 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
phy->id = e1000_phy_unknown;
ret_val = e1000_init_phy_workarounds_pchlan(hw);
- if (ret_val)
- return ret_val;
+ if (ret_val) {
+ e1000_reset_hw_ich8lan(hw);
+ ret_val = e1000_init_phy_workarounds_pchlan(hw);
+ if (ret_val)
+ return ret_val;
+ }
if (phy->id == e1000_phy_unknown)
switch (hw->mac.type) {