forcedeth: fix stats on hardware without extended stats support
authordavid decotigny <david.decotigny@google.com>
Wed, 16 Nov 2011 12:15:07 +0000 (12:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Nov 2011 04:14:01 +0000 (23:14 -0500)
commit674aee3b351c57d8b89f363c8947db74756545f8
treebfa2670dea0ca4b935c5e58e01c104f0af90af89
parent0345e1864283207bc236120dd3e13ff2391fa85f
forcedeth: fix stats on hardware without extended stats support

This change makes sure that tx_packets/rx_bytes ifconfig counters are
updated even on NICs that don't provide hardware support for these
stats: they are now updated in software. For the sake of consistency,
we also now have tx_bytes updated in software (hardware counters
include ethernet CRC, and software doesn't account for it).

This reverts parts of:
 - "forcedeth: statistics optimization" (21828163b2)
 - "forcedeth: Improve stats counters" (0bdfea8ba8)
 - "forcedeth: remove unneeded stats updates" (4687f3f364)

Tested:
  pktgen + loopback (http://patchwork.ozlabs.org/patch/124698/)
  reports identical tx_packets/rx_packets and tx_bytes/rx_bytes.

Signed-off-by: David Decotigny <david.decotigny@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 898bdf2cb43eb0a962c397eb4dd1aec2c7211be2)
drivers/net/ethernet/nvidia/forcedeth.c