diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-06 02:08:07 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-06 02:08:07 -0400 |
commit | ea2aca084ba82aaf7c148d04914ceed8758ce08a (patch) | |
tree | dcb3f4f849cf48deac2dd3bafd5c2cd2f0e7dc79 /net/bridge | |
parent | f3032be921cd126615ce3bfd7084e3d319f3f892 (diff) | |
parent | c5a78ac00c400df29645e59938700301efb371d0 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
Documentation/feature-removal-schedule.txt
drivers/net/wan/hdlc_fr.c
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_if.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 832a561500d9..497df086141a 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
@@ -441,12 +441,16 @@ int br_del_if(struct net_bridge *br, struct net_device *dev) | |||
441 | 441 | ||
442 | void __exit br_cleanup_bridges(void) | 442 | void __exit br_cleanup_bridges(void) |
443 | { | 443 | { |
444 | struct net_device *dev, *nxt; | 444 | struct net_device *dev; |
445 | 445 | ||
446 | rtnl_lock(); | 446 | rtnl_lock(); |
447 | for_each_netdev_safe(&init_net, dev, nxt) | 447 | restart: |
448 | if (dev->priv_flags & IFF_EBRIDGE) | 448 | for_each_netdev(&init_net, dev) { |
449 | if (dev->priv_flags & IFF_EBRIDGE) { | ||
449 | del_br(dev->priv); | 450 | del_br(dev->priv); |
451 | goto restart; | ||
452 | } | ||
453 | } | ||
450 | rtnl_unlock(); | 454 | rtnl_unlock(); |
451 | 455 | ||
452 | } | 456 | } |