diff --git a/[refs] b/[refs] index 6c456ee58e5f..dc1a73199b1f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bdf6d32f933bf28dfdca325281ee5266c753dc67 +refs/heads/master: 3b8bcfd5d31ea0fec58681d035544ace707d2536 diff --git a/trunk/include/linux/notifier.h b/trunk/include/linux/notifier.h index b86fa2ffca0c..81bc252dc8ac 100644 --- a/trunk/include/linux/notifier.h +++ b/trunk/include/linux/notifier.h @@ -198,6 +198,7 @@ static inline int notifier_to_errno(int ret) #define NETDEV_CHANGENAME 0x000A #define NETDEV_FEAT_CHANGE 0x000B #define NETDEV_BONDING_FAILOVER 0x000C +#define NETDEV_PRE_UP 0x000D #define SYS_DOWN 0x0001 /* Notify of system down */ #define SYS_RESTART SYS_DOWN diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 34b49a6a22fd..1f38401fc028 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -1048,7 +1048,7 @@ void dev_load(struct net *net, const char *name) int dev_open(struct net_device *dev) { const struct net_device_ops *ops = dev->netdev_ops; - int ret = 0; + int ret; ASSERT_RTNL(); @@ -1065,6 +1065,11 @@ int dev_open(struct net_device *dev) if (!netif_device_present(dev)) return -ENODEV; + ret = call_netdevice_notifiers(NETDEV_PRE_UP, dev); + ret = notifier_to_errno(ret); + if (ret) + return ret; + /* * Call device private open method */