diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index d4bcfd8f95bf..3f47abf9ef4a 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -280,7 +280,8 @@ static int register_vlan_device(struct net_device *real_dev, u16 vlan_id) return 0; out_free_newdev: - if (new_dev->reg_state == NETREG_UNINITIALIZED) + if (new_dev->reg_state == NETREG_UNINITIALIZED || + new_dev->reg_state == NETREG_UNREGISTERED) free_netdev(new_dev); return err; }