aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/core/rtnetlink.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5be499b6a2d2..ab293a3066b3 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2162,7 +2162,14 @@ replay:
2162 } 2162 }
2163 err = rtnl_configure_link(dev, ifm); 2163 err = rtnl_configure_link(dev, ifm);
2164 if (err < 0) { 2164 if (err < 0) {
2165 unregister_netdevice(dev); 2165 if (ops->newlink) {
2166 LIST_HEAD(list_kill);
2167
2168 ops->dellink(dev, &list_kill);
2169 unregister_netdevice_many(&list_kill);
2170 } else {
2171 unregister_netdevice(dev);
2172 }
2166 goto out; 2173 goto out;
2167 } 2174 }
2168 2175