Davinci: Do not reset EMAC TX overruns counter on read
authorThomas Lange <thomas@corelatus.se>
Wed, 9 Mar 2011 04:41:16 +0000 (04:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Mar 2011 22:04:50 +0000 (15:04 -0700)
Don't reset tx_fifo_errors when reading out current EMAC stats.
  (tx_fifo_errors shows up as TX overruns in netdev stats.)

Without this correction, the old counter value is lost every time
stats are read out.

Signed-off-by: Thomas Lange <thomas@corelatus.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/davinci_emac.c

index 7018bfe408a4ecd6f21076e7093a06cb86ae2fab..082d6ea699206b2a2e0ff2ad7b5cfdd125620e31 100644 (file)
@@ -1730,7 +1730,7 @@ static struct net_device_stats *emac_dev_getnetstats(struct net_device *ndev)
                emac_read(EMAC_TXCARRIERSENSE);
        emac_write(EMAC_TXCARRIERSENSE, stats_clear_mask);
 
-       ndev->stats.tx_fifo_errors = emac_read(EMAC_TXUNDERRUN);
+       ndev->stats.tx_fifo_errors += emac_read(EMAC_TXUNDERRUN);
        emac_write(EMAC_TXUNDERRUN, stats_clear_mask);
 
        return &ndev->stats;