diff options
Diffstat (limited to 'net/core/dev_mcast.c')
-rw-r--r-- | net/core/dev_mcast.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/core/dev_mcast.c b/net/core/dev_mcast.c index 7d57bf77f3a..5a54053386c 100644 --- a/net/core/dev_mcast.c +++ b/net/core/dev_mcast.c | |||
@@ -223,7 +223,7 @@ static void *dev_mc_seq_start(struct seq_file *seq, loff_t *pos) | |||
223 | loff_t off = 0; | 223 | loff_t off = 0; |
224 | 224 | ||
225 | read_lock(&dev_base_lock); | 225 | read_lock(&dev_base_lock); |
226 | for (dev = dev_base; dev; dev = dev->next) { | 226 | for_each_netdev(dev) { |
227 | if (off++ == *pos) | 227 | if (off++ == *pos) |
228 | return dev; | 228 | return dev; |
229 | } | 229 | } |
@@ -232,9 +232,8 @@ static void *dev_mc_seq_start(struct seq_file *seq, loff_t *pos) | |||
232 | 232 | ||
233 | static void *dev_mc_seq_next(struct seq_file *seq, void *v, loff_t *pos) | 233 | static void *dev_mc_seq_next(struct seq_file *seq, void *v, loff_t *pos) |
234 | { | 234 | { |
235 | struct net_device *dev = v; | ||
236 | ++*pos; | 235 | ++*pos; |
237 | return dev->next; | 236 | return next_net_device((struct net_device *)v); |
238 | } | 237 | } |
239 | 238 | ||
240 | static void dev_mc_seq_stop(struct seq_file *seq, void *v) | 239 | static void dev_mc_seq_stop(struct seq_file *seq, void *v) |