aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/8021q/vlan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index b591bfca1ab2..8cae2daeb1cc 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -165,6 +165,8 @@ void unregister_vlan_dev(struct net_device *dev)
165 165
166 synchronize_net(); 166 synchronize_net();
167 167
168 unregister_netdevice(dev);
169
168 /* If the group is now empty, kill off the group. */ 170 /* If the group is now empty, kill off the group. */
169 if (grp->nr_vlans == 0) { 171 if (grp->nr_vlans == 0) {
170 if (real_dev->features & NETIF_F_HW_VLAN_RX) 172 if (real_dev->features & NETIF_F_HW_VLAN_RX)
@@ -178,8 +180,6 @@ void unregister_vlan_dev(struct net_device *dev)
178 180
179 /* Get rid of the vlan's reference to real_dev */ 181 /* Get rid of the vlan's reference to real_dev */
180 dev_put(real_dev); 182 dev_put(real_dev);
181
182 unregister_netdevice(dev);
183} 183}
184 184
185static void vlan_transfer_operstate(const struct net_device *dev, 185static void vlan_transfer_operstate(const struct net_device *dev,