]> git.hungrycats.org Git - linux/commitdiff
tg3: don't clear stats while tg3_close
authorYueHaibing <yuehaibing@huawei.com>
Wed, 3 May 2017 07:51:32 +0000 (15:51 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 26 Aug 2017 01:14:45 +0000 (02:14 +0100)
commit 37a7fdf2892be124545ddaf99b85de576121476c upstream.

Now tg3 NIC's stats will be cleared after ifdown/ifup. bond_get_stats traverse
its salves to get statistics,cumulative the increment.If a tg3 NIC is added to
bonding as a slave,ifdown/ifup will cause bonding's stats become tremendous value
(ex.1638.3 PiB) because of negative increment.

Fixes: 92feeabf3f67 ("tg3: Save stats across chip resets")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/broadcom/tg3.c

index c13932e671fbd680e26f7fc0463848afae38394d..17036ff0b925f79cc47a3db233f0b382dd76b4e9 100644 (file)
@@ -11709,10 +11709,6 @@ static int tg3_close(struct net_device *dev)
 
        tg3_stop(tp);
 
-       /* Clear stats across close / open calls */
-       memset(&tp->net_stats_prev, 0, sizeof(tp->net_stats_prev));
-       memset(&tp->estats_prev, 0, sizeof(tp->estats_prev));
-
        if (pci_device_is_present(tp->pdev)) {
                tg3_power_down_prepare(tp);