|
|
@@ -1270,10 +1270,11 @@ static int rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
|
|
|
err = ops->newlink(net, dev, tb, data);
|
|
|
else
|
|
|
err = register_netdevice(dev);
|
|
|
- if (err < 0 && !IS_ERR(dev)) {
|
|
|
+
|
|
|
+ if (err < 0 && !IS_ERR(dev))
|
|
|
free_netdev(dev);
|
|
|
+ if (err < 0)
|
|
|
goto out;
|
|
|
- }
|
|
|
|
|
|
err = rtnl_configure_link(dev, ifm);
|
|
|
if (err < 0)
|