aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index e0c3deec59b..f494675471a 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1387,7 +1387,7 @@ rollback:
1387 for_each_net(net) { 1387 for_each_net(net) {
1388 for_each_netdev(net, dev) { 1388 for_each_netdev(net, dev) {
1389 if (dev == last) 1389 if (dev == last)
1390 break; 1390 goto outroll;
1391 1391
1392 if (dev->flags & IFF_UP) { 1392 if (dev->flags & IFF_UP) {
1393 nb->notifier_call(nb, NETDEV_GOING_DOWN, dev); 1393 nb->notifier_call(nb, NETDEV_GOING_DOWN, dev);
@@ -1398,6 +1398,7 @@ rollback:
1398 } 1398 }
1399 } 1399 }
1400 1400
1401outroll:
1401 raw_notifier_chain_unregister(&netdev_chain, nb); 1402 raw_notifier_chain_unregister(&netdev_chain, nb);
1402 goto unlock; 1403 goto unlock;
1403} 1404}
@@ -4209,6 +4210,12 @@ static int dev_seq_open(struct inode *inode, struct file *file)
4209 sizeof(struct dev_iter_state)); 4210 sizeof(struct dev_iter_state));
4210} 4211}
4211 4212
4213int dev_seq_open_ops(struct inode *inode, struct file *file,
4214 const struct seq_operations *ops)
4215{
4216 return seq_open_net(inode, file, ops, sizeof(struct dev_iter_state));
4217}
4218
4212static const struct file_operations dev_seq_fops = { 4219static const struct file_operations dev_seq_fops = {
4213 .owner = THIS_MODULE, 4220 .owner = THIS_MODULE,
4214 .open = dev_seq_open, 4221 .open = dev_seq_open,