summaryrefslogtreecommitdiff
path: root/drivers/net/e1000e
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2008-10-03 03:33:20 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-03 05:28:12 +0400
commit37f40239f49fbc0b489d0327a700fee5b3898ac2 (patch)
treebcce45dade552bcff9840ea5c38e6998726cb813 /drivers/net/e1000e
parent6babc32c41e3642d875372cb6afbd9ade7a9f311 (diff)
downloadlinux-37f40239f49fbc0b489d0327a700fee5b3898ac2.tar.xz
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')
-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) {
/*