tg3: fix return value in tg3_get_stats64
authorGovindarajulu Varadarajan <_govind@gmx.com>
Wed, 13 Aug 2014 07:34:56 +0000 (13:04 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Aug 2014 03:04:47 +0000 (20:04 -0700)
When tp->hw_stats is 0, tg3_get_stats64 should display previously
recorded stats. So it returns &tp->net_stats_prev. But the caller,
dev_get_stats, ignores the return value.

Fix this by assigning tp->net_stats_prev to stats and returning stats.

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Acked-by: Prashant Sreedharan <prashant@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/tg3.c

index a3dd5dc64f4cfe1e60524d5f67eaa6b1bf83cea4..4296b3d26f02f63851f134e85516bbb9f7e7ddce 100644 (file)
@@ -14093,8 +14093,9 @@ static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev,
 
        spin_lock_bh(&tp->lock);
        if (!tp->hw_stats) {
+               *stats = tp->net_stats_prev;
                spin_unlock_bh(&tp->lock);
-               return &tp->net_stats_prev;
+               return stats;
        }
 
        tg3_get_nstats(tp, stats);