Davinci: Do not reset EMAC TX overruns counter on read
Thomas Lange [Wed, 9 Mar 2011 04:41:16 +0000 (04:41 +0000)]
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 7018bfe..082d6ea 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;