Commit 26349c71 authored by Johannes Berg's avatar Johannes Berg Committed by David S. Miller

ip6_gre: use netdev_alloc_pcpu_stats()

The code there just open-codes the same, so use the provided macro instead.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0e2d6865
...@@ -1246,7 +1246,6 @@ static void ip6gre_tunnel_setup(struct net_device *dev) ...@@ -1246,7 +1246,6 @@ static void ip6gre_tunnel_setup(struct net_device *dev)
static int ip6gre_tunnel_init(struct net_device *dev) static int ip6gre_tunnel_init(struct net_device *dev)
{ {
struct ip6_tnl *tunnel; struct ip6_tnl *tunnel;
int i;
tunnel = netdev_priv(dev); tunnel = netdev_priv(dev);
...@@ -1260,16 +1259,10 @@ static int ip6gre_tunnel_init(struct net_device *dev) ...@@ -1260,16 +1259,10 @@ static int ip6gre_tunnel_init(struct net_device *dev)
if (ipv6_addr_any(&tunnel->parms.raddr)) if (ipv6_addr_any(&tunnel->parms.raddr))
dev->header_ops = &ip6gre_header_ops; dev->header_ops = &ip6gre_header_ops;
dev->tstats = alloc_percpu(struct pcpu_sw_netstats); dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
if (!dev->tstats) if (!dev->tstats)
return -ENOMEM; return -ENOMEM;
for_each_possible_cpu(i) {
struct pcpu_sw_netstats *ip6gre_tunnel_stats;
ip6gre_tunnel_stats = per_cpu_ptr(dev->tstats, i);
u64_stats_init(&ip6gre_tunnel_stats->syncp);
}
return 0; return 0;
} }
......
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