summaryrefslogtreecommitdiff
path: root/net/ipv4/ip_tunnel.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-06-21 09:07:52 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-06-21 09:07:52 +0200
commitf0cd9ae5d0df8668e76359a3e0e99856aa9c53b9 (patch)
tree84d3297b16fa7e373f2eabef56cd12ae5a9b8a29 /net/ipv4/ip_tunnel.c
parent098b0e01a91c42aaaf0425605cd126b03fcb0bcf (diff)
parent8e6cec1c7c5afa489687c90be15d6ed82c742975 (diff)
Merge branch 'timers/urgent' into timers/core
Pick up dependent changes.
Diffstat (limited to 'net/ipv4/ip_tunnel.c')
-rw-r--r--net/ipv4/ip_tunnel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index b878ecbc0608..b436d0775631 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -967,7 +967,6 @@ static void ip_tunnel_dev_free(struct net_device *dev)
gro_cells_destroy(&tunnel->gro_cells);
dst_cache_destroy(&tunnel->dst_cache);
free_percpu(dev->tstats);
- free_netdev(dev);
}
void ip_tunnel_dellink(struct net_device *dev, struct list_head *head)
@@ -1155,7 +1154,8 @@ int ip_tunnel_init(struct net_device *dev)
struct iphdr *iph = &tunnel->parms.iph;
int err;
- dev->destructor = ip_tunnel_dev_free;
+ dev->needs_free_netdev = true;
+ dev->priv_destructor = ip_tunnel_dev_free;
dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
if (!dev->tstats)
return -ENOMEM;