Message ID | 1426759878-566-1-git-send-email-luis.henriques@canonical.com |
---|---|
State | New |
Headers | show |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 888136a75454..b1e79ca03fa0 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2069,8 +2069,16 @@ replay: } } err = rtnl_configure_link(dev, ifm); - if (err < 0) - unregister_netdevice(dev); + if (err < 0) { + if (ops->newlink) { + LIST_HEAD(list_kill); + + ops->dellink(dev, &list_kill); + unregister_netdevice_many(&list_kill); + } else { + unregister_netdevice(dev); + } + } out: put_net(dest_net); return err;