diff --git a/[refs] b/[refs] index 1a24349d48df..8c8f91fcd3df 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ea6a5d3b97b768561db6358f15e4c84ced0f4f7e +refs/heads/master: 8f891489866ec62a87494eff3ed17c88152c32d4 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 1482eea0bbf0..5a13edfc9f73 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -1396,7 +1396,7 @@ int register_netdevice_notifier(struct notifier_block *nb) for_each_net(net) { for_each_netdev(net, dev) { if (dev == last) - break; + goto outroll; if (dev->flags & IFF_UP) { nb->notifier_call(nb, NETDEV_GOING_DOWN, dev); @@ -1407,6 +1407,7 @@ int register_netdevice_notifier(struct notifier_block *nb) } } +outroll: raw_notifier_chain_unregister(&netdev_chain, nb); goto unlock; }