aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_hw.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-12-15 10:41:15 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-26 15:51:28 -0500
commit167fb2841633edd2812e385af4b593d870abd15a (patch)
tree0199485f6443ae08f7499fcb0537814f6d66fd04 /drivers/net/e1000/e1000_hw.c
parente1000: For sanity, reformat e1000_set_mac_type(), struct e1000_hw[_stats] (diff)
downloadlinux-dev-167fb2841633edd2812e385af4b593d870abd15a.tar.xz
linux-dev-167fb2841633edd2812e385af4b593d870abd15a.zip
e1000: omit stats for broken counter in 82543
The 82543 chip does not count tx_carrier_errors properly in FD mode; report zeros instead of garbage. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e1000/e1000_hw.c')
-rw-r--r--drivers/net/e1000/e1000_hw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index 0201ca548cd1..ce82eb52ea95 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -442,6 +442,12 @@ e1000_set_mac_type(struct e1000_hw *hw)
break;
}
+ /* The 82543 chip does not count tx_carrier_errors properly in
+ * FD mode
+ */
+ if (hw->mac_type == e1000_82543)
+ hw->bad_tx_carr_stats_fd = TRUE;
+
return E1000_SUCCESS;
}