diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-12-15 10:41:15 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-26 15:51:28 -0500 |
commit | 167fb2841633edd2812e385af4b593d870abd15a (patch) | |
tree | 0199485f6443ae08f7499fcb0537814f6d66fd04 /drivers/net/e1000/e1000_main.c | |
parent | bd2371ebcc71d0a276ae341d735326a8beab6627 (diff) | |
download | op-kernel-dev-167fb2841633edd2812e385af4b593d870abd15a.zip op-kernel-dev-167fb2841633edd2812e385af4b593d870abd15a.tar.gz |
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_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 62ef267..0816de2 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -3581,6 +3581,11 @@ e1000_update_stats(struct e1000_adapter *adapter) adapter->net_stats.tx_aborted_errors = adapter->stats.ecol; adapter->net_stats.tx_window_errors = adapter->stats.latecol; adapter->net_stats.tx_carrier_errors = adapter->stats.tncrs; + if (adapter->hw.bad_tx_carr_stats_fd && + adapter->link_duplex == FULL_DUPLEX) { + adapter->net_stats.tx_carrier_errors = 0; + adapter->stats.tncrs = 0; + } /* Tx Dropped needs to be maintained elsewhere */ |