Commit 1f68b209 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jakub Kicinski

qtnfmac: use new function dev_fetch_sw_netstats

Simplify the code by using new function dev_fetch_sw_netstats().
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Acked-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/166259f2-084c-45d7-e610-2de2a0bdae06@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ab2b3ff2
...@@ -139,34 +139,13 @@ static void qtnf_netdev_get_stats64(struct net_device *ndev, ...@@ -139,34 +139,13 @@ static void qtnf_netdev_get_stats64(struct net_device *ndev,
struct rtnl_link_stats64 *stats) struct rtnl_link_stats64 *stats)
{ {
struct qtnf_vif *vif = qtnf_netdev_get_priv(ndev); struct qtnf_vif *vif = qtnf_netdev_get_priv(ndev);
unsigned int start;
int cpu;
netdev_stats_to_stats64(stats, &ndev->stats); netdev_stats_to_stats64(stats, &ndev->stats);
if (!vif->stats64) if (!vif->stats64)
return; return;
for_each_possible_cpu(cpu) { dev_fetch_sw_netstats(stats, vif->stats64);
struct pcpu_sw_netstats *stats64;
u64 rx_packets, rx_bytes;
u64 tx_packets, tx_bytes;
stats64 = per_cpu_ptr(vif->stats64, cpu);
do {
start = u64_stats_fetch_begin_irq(&stats64->syncp);
rx_packets = stats64->rx_packets;
rx_bytes = stats64->rx_bytes;
tx_packets = stats64->tx_packets;
tx_bytes = stats64->tx_bytes;
} while (u64_stats_fetch_retry_irq(&stats64->syncp, start));
stats->rx_packets += rx_packets;
stats->rx_bytes += rx_bytes;
stats->tx_packets += tx_packets;
stats->tx_bytes += tx_bytes;
}
} }
/* Netdev handler for transmission timeout. /* Netdev handler for transmission timeout.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment