diff options
author | Bruce Allan <bruce.w.allan@intel.com> | 2009-06-02 07:29:37 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-03 05:46:36 -0400 |
commit | 37289d9c1e72a186ea5f28bee79efeb1d4e7309c (patch) | |
tree | 429af3e67d9f5d91cf472e40fd1039e6cffe3e69 | |
parent | a4f58f5455ba0efda36fb33c37074922d1527a10 (diff) |
e1000e: workaround a Tx hang on 82577/82578
With bi-directional stress traffic, the receiver could hang causing the
hardware to stop and a "Detected Tx Unit Hang" message dumped to the system
logfile. Temporarily workaround this issue by disabling Tx flow control by
default. The issue is currently being investigated and a follow-on patch
will be provided to revert this when it is resolved.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/e1000e/ich8lan.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c index b69c8190da30..9e23f50fb9cd 100644 --- a/drivers/net/e1000e/ich8lan.c +++ b/drivers/net/e1000e/ich8lan.c | |||
@@ -2348,8 +2348,13 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw) | |||
2348 | * the default flow control setting, so we explicitly | 2348 | * the default flow control setting, so we explicitly |
2349 | * set it to full. | 2349 | * set it to full. |
2350 | */ | 2350 | */ |
2351 | if (hw->fc.requested_mode == e1000_fc_default) | 2351 | if (hw->fc.requested_mode == e1000_fc_default) { |
2352 | hw->fc.requested_mode = e1000_fc_full; | 2352 | /* Workaround h/w hang when Tx flow control enabled */ |
2353 | if (hw->mac.type == e1000_pchlan) | ||
2354 | hw->fc.requested_mode = e1000_fc_rx_pause; | ||
2355 | else | ||
2356 | hw->fc.requested_mode = e1000_fc_full; | ||
2357 | } | ||
2353 | 2358 | ||
2354 | /* | 2359 | /* |
2355 | * Save off the requested flow control mode for use later. Depending | 2360 | * Save off the requested flow control mode for use later. Depending |