@@ -1314,6 +1314,19 @@ void netdev_features_change(struct net_device *dev)
}
EXPORT_SYMBOL(netdev_features_change);
+static void __netdev_state_change(struct net_device *dev,
+ unsigned int flags_changed)
+{
+ struct netdev_notifier_change_info change_info = {
+ .info = {
+ .dev = dev,
+ },
+ .flags_changed = flags_changed,
+ };
+
+ call_netdevice_notifiers_info(NETDEV_CHANGE, &change_info.info);
+}
+
/**
* netdev_state_change - device changes state
* @dev: device to cause notification
@@ -1325,12 +1338,7 @@ EXPORT_SYMBOL(netdev_features_change);
void netdev_state_change(struct net_device *dev)
{
if (dev->flags & IFF_UP) {
- struct netdev_notifier_change_info change_info = {
- .info.dev = dev,
- };
-
- call_netdevice_notifiers_info(NETDEV_CHANGE,
- &change_info.info);
+ __netdev_state_change(dev, 0);
rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
}
}
@@ -8479,16 +8487,8 @@ void __dev_notify_flags(struct net_device *dev, unsigned int old_flags,
}
if (dev->flags & IFF_UP &&
- (changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE))) {
- struct netdev_notifier_change_info change_info = {
- .info = {
- .dev = dev,
- },
- .flags_changed = changes,
- };
-
- call_netdevice_notifiers_info(NETDEV_CHANGE, &change_info.info);
- }
+ (changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE)))
+ __netdev_state_change(dev, changes);
}
/**
Create a __netdev_state_change() helper function which emits a NETDEV_CHANGE notifier with the given changed flags as argument. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- net/core/dev.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)