diff options
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 8433de4509c7..a5d21893670d 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -879,14 +879,15 @@ int macvlan_common_newlink(struct net *src_net, struct net_device *dev, | |||
879 | dev->priv_flags |= IFF_MACVLAN; | 879 | dev->priv_flags |= IFF_MACVLAN; |
880 | err = netdev_upper_dev_link(lowerdev, dev); | 880 | err = netdev_upper_dev_link(lowerdev, dev); |
881 | if (err) | 881 | if (err) |
882 | goto destroy_port; | 882 | goto unregister_netdev; |
883 | |||
884 | 883 | ||
885 | list_add_tail_rcu(&vlan->list, &port->vlans); | 884 | list_add_tail_rcu(&vlan->list, &port->vlans); |
886 | netif_stacked_transfer_operstate(lowerdev, dev); | 885 | netif_stacked_transfer_operstate(lowerdev, dev); |
887 | 886 | ||
888 | return 0; | 887 | return 0; |
889 | 888 | ||
889 | unregister_netdev: | ||
890 | unregister_netdevice(dev); | ||
890 | destroy_port: | 891 | destroy_port: |
891 | port->count -= 1; | 892 | port->count -= 1; |
892 | if (!port->count) | 893 | if (!port->count) |