aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/ich8lan.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000e/ich8lan.c')
-rw-r--r--drivers/net/e1000e/ich8lan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 92f2ace7ca68..f2a5963b5a95 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -1939,12 +1939,17 @@ static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw)
1939 ctrl |= E1000_CTRL_PHY_RST; 1939 ctrl |= E1000_CTRL_PHY_RST;
1940 } 1940 }
1941 ret_val = e1000_acquire_swflag_ich8lan(hw); 1941 ret_val = e1000_acquire_swflag_ich8lan(hw);
1942 /* Whether or not the swflag was acquired, we need to reset the part */
1942 hw_dbg(hw, "Issuing a global reset to ich8lan\n"); 1943 hw_dbg(hw, "Issuing a global reset to ich8lan\n");
1943 ew32(CTRL, (ctrl | E1000_CTRL_RST)); 1944 ew32(CTRL, (ctrl | E1000_CTRL_RST));
1944 msleep(20); 1945 msleep(20);
1945 1946
1946 /* release the swflag because it is not reset by hardware reset */ 1947 if (!ret_val) {
1947 e1000_release_swflag_ich8lan(hw); 1948 /* release the swflag because it is not reset by
1949 * hardware reset
1950 */
1951 e1000_release_swflag_ich8lan(hw);
1952 }
1948 1953
1949 ret_val = e1000e_get_auto_rd_done(hw); 1954 ret_val = e1000e_get_auto_rd_done(hw);
1950 if (ret_val) { 1955 if (ret_val) {