aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/core/rtnetlink.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5ef61222fdef..e3f743c141b3 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2759,9 +2759,12 @@ int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm)
2759 return err; 2759 return err;
2760 } 2760 }
2761 2761
2762 dev->rtnl_link_state = RTNL_LINK_INITIALIZED; 2762 if (dev->rtnl_link_state == RTNL_LINK_INITIALIZED) {
2763 2763 __dev_notify_flags(dev, old_flags, 0U);
2764 __dev_notify_flags(dev, old_flags, ~0U); 2764 } else {
2765 dev->rtnl_link_state = RTNL_LINK_INITIALIZED;
2766 __dev_notify_flags(dev, old_flags, ~0U);
2767 }
2765 return 0; 2768 return 0;
2766} 2769}
2767EXPORT_SYMBOL(rtnl_configure_link); 2770EXPORT_SYMBOL(rtnl_configure_link);