diff options
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 8bf31d9a397c..570ad7aa7204 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -1430,7 +1430,7 @@ static int vxlan_open(struct net_device *dev) | |||
1430 | return -ENOTCONN; | 1430 | return -ENOTCONN; |
1431 | 1431 | ||
1432 | if (IN_MULTICAST(ntohl(vxlan->default_dst.remote_ip)) && | 1432 | if (IN_MULTICAST(ntohl(vxlan->default_dst.remote_ip)) && |
1433 | ! vxlan_group_used(vn, vxlan->default_dst.remote_ip)) { | 1433 | vxlan_group_used(vn, vxlan->default_dst.remote_ip)) { |
1434 | vxlan_sock_hold(vs); | 1434 | vxlan_sock_hold(vs); |
1435 | dev_hold(dev); | 1435 | dev_hold(dev); |
1436 | queue_work(vxlan_wq, &vxlan->igmp_join); | 1436 | queue_work(vxlan_wq, &vxlan->igmp_join); |
@@ -1837,8 +1837,6 @@ static void vxlan_dellink(struct net_device *dev, struct list_head *head) | |||
1837 | struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id); | 1837 | struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id); |
1838 | struct vxlan_dev *vxlan = netdev_priv(dev); | 1838 | struct vxlan_dev *vxlan = netdev_priv(dev); |
1839 | 1839 | ||
1840 | flush_workqueue(vxlan_wq); | ||
1841 | |||
1842 | spin_lock(&vn->sock_lock); | 1840 | spin_lock(&vn->sock_lock); |
1843 | hlist_del_rcu(&vxlan->hlist); | 1841 | hlist_del_rcu(&vxlan->hlist); |
1844 | spin_unlock(&vn->sock_lock); | 1842 | spin_unlock(&vn->sock_lock); |