aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/macvlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r--drivers/net/macvlan.c5
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
889unregister_netdev:
890 unregister_netdevice(dev);
890destroy_port: 891destroy_port:
891 port->count -= 1; 892 port->count -= 1;
892 if (!port->count) 893 if (!port->count)