diff options
-rw-r--r-- | src/ich8lan.c | 9 |
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) { |