OSDN Git Service

r8169: simplify getting stats by using netdev_stats_to_stats64
authorHeiner Kallweit <hkallweit1@gmail.com>
Tue, 10 Mar 2020 22:15:00 +0000 (23:15 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 10 Mar 2020 23:23:44 +0000 (16:23 -0700)
Let netdev_stats_to_stats64() do the copy work for us.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169_main.c

index c0731c3..ce030e0 100644 (file)
@@ -4827,6 +4827,8 @@ rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
 
        pm_runtime_get_noresume(&pdev->dev);
 
+       netdev_stats_to_stats64(stats, &dev->stats);
+
        do {
                start = u64_stats_fetch_begin_irq(&tp->rx_stats.syncp);
                stats->rx_packets = tp->rx_stats.packets;
@@ -4839,14 +4841,6 @@ rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
                stats->tx_bytes = tp->tx_stats.bytes;
        } while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start));
 
-       stats->rx_dropped       = dev->stats.rx_dropped;
-       stats->tx_dropped       = dev->stats.tx_dropped;
-       stats->rx_length_errors = dev->stats.rx_length_errors;
-       stats->rx_errors        = dev->stats.rx_errors;
-       stats->rx_crc_errors    = dev->stats.rx_crc_errors;
-       stats->rx_fifo_errors   = dev->stats.rx_fifo_errors;
-       stats->multicast        = dev->stats.multicast;
-
        /*
         * Fetch additional counter values missing in stats collected by driver
         * from tally counters.