diff --git a/[refs] b/[refs] index 2723503f7ec8..6532e6c03d55 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4f914b58019f0e50d521bbbadfaee260d766f95 +refs/heads/master: 80032cffb95edff4fc216b1cb21682257be326b7 diff --git a/trunk/net/core/rtnetlink.c b/trunk/net/core/rtnetlink.c index 4568120d8533..fe776c9ddeca 100644 --- a/trunk/net/core/rtnetlink.c +++ b/trunk/net/core/rtnetlink.c @@ -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)