|
@@ -98,14 +98,14 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head)
|
|
|
vlan_gvrp_request_leave(dev);
|
|
|
|
|
|
vlan_group_set_device(grp, vlan->vlan_proto, vlan_id, NULL);
|
|
|
+
|
|
|
+ netdev_upper_dev_unlink(real_dev, dev);
|
|
|
/* Because unregister_netdevice_queue() makes sure at least one rcu
|
|
|
* grace period is respected before device freeing,
|
|
|
* we dont need to call synchronize_net() here.
|
|
|
*/
|
|
|
unregister_netdevice_queue(dev, head);
|
|
|
|
|
|
- netdev_upper_dev_unlink(real_dev, dev);
|
|
|
-
|
|
|
if (grp->nr_vlan_devs == 0) {
|
|
|
vlan_mvrp_uninit_applicant(real_dev);
|
|
|
vlan_gvrp_uninit_applicant(real_dev);
|