summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/ich8lan.c
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2008-10-03 01:33:20 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-03 03:28:12 +0200
commit37f40239f49fbc0b489d0327a700fee5b3898ac2 (patch)
treebcce45dade552bcff9840ea5c38e6998726cb813 /drivers/net/e1000e/ich8lan.c
parentmm: handle initialising compound pages at orders greater than MAX_ORDER (diff)
downloadlinux-37f40239f49fbc0b489d0327a700fee5b3898ac2.tar.xz
linux-37f40239f49fbc0b489d0327a700fee5b3898ac2.zip
e1000e: reset swflag after resetting hardware
in the process of debugging things, noticed that the swflag is not reset by the driver after reset, and the swflag is probably not reset unless management firmware clears it after 100ms. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/net/e1000e/ich8lan.c')
-rw-r--r--drivers/net/e1000e/ich8lan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index d8efba884134..f4b6744d71df 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -1778,6 +1778,9 @@ static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw)
ew32(CTRL, (ctrl | E1000_CTRL_RST));
msleep(20);
+ /* release the swflag because it is not reset by hardware reset */
+ e1000_release_swflag_ich8lan(hw);
+
ret_val = e1000e_get_auto_rd_done(hw);
if (ret_val) {
/*