summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e
diff options
context:
space:
mode:
authorBruce Allan2008-09-24 00:46:38 +0200
committerJeff Garzik2008-09-25 02:48:51 +0200
commit2e2e8d53c3f34684af7a7475098b7524a6b854c2 (patch)
tree95c0ed1409fab405b0c0e1219825123f8864ac15 /drivers/net/e1000e
parentenic: bug fix: don't set netdev->name too early (diff)
downloadkernel-qcow2-linux-2e2e8d53c3f34684af7a7475098b7524a6b854c2.tar.gz
kernel-qcow2-linux-2e2e8d53c3f34684af7a7475098b7524a6b854c2.tar.xz
kernel-qcow2-linux-2e2e8d53c3f34684af7a7475098b7524a6b854c2.zip
e1000e: remove failed request for sw/fw/hw flag
When the driver fails to acquire the control flag used to serialize NVM and PHY accesses between the driver, firmware and hardware, remove the request for the flag otherwise the hardware might grant the flag when it becomes available but the driver will not release the flag. This could cause the firmware to prevent the driver getting the flag for all future attempts. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/e1000e')
-rw-r--r--drivers/net/e1000e/ich8lan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 019b9c0bcdcb..692251b60915 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -398,6 +398,8 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
if (!timeout) {
hw_dbg(hw, "FW or HW has locked the resource for too long.\n");
+ extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG;
+ ew32(EXTCNF_CTRL, extcnf_ctrl);
return -E1000_ERR_CONFIG;
}