From 30e51f903b2f6f47c85350e9a58c64caad89e52a Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Thu, 3 Jul 2008 03:53:42 -0700 Subject: [PATCH] --- yaml --- r: 98759 b: refs/heads/master c: ab1b20467cd2214ad89a95d007047cd2a6b5bf5d h: refs/heads/master i: 98757: abfc0849ead2c6fc6a2a8d161b237b50e76f698f 98755: 690ead7b36b2a906e36ed8de57ff3552e3c9a631 98751: 9b6ab531858028b4ede462f41992a61be49b0c17 v: v3 --- [refs] | 2 +- trunk/net/bridge/br_if.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 07190448dcfb..10316dd57b30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 374e7b59498ce0785b3727794b351221528a5159 +refs/heads/master: ab1b20467cd2214ad89a95d007047cd2a6b5bf5d diff --git a/trunk/net/bridge/br_if.c b/trunk/net/bridge/br_if.c index c2397f503b0f..f38cc5317b88 100644 --- a/trunk/net/bridge/br_if.c +++ b/trunk/net/bridge/br_if.c @@ -442,12 +442,16 @@ int br_del_if(struct net_bridge *br, struct net_device *dev) void __exit br_cleanup_bridges(void) { - struct net_device *dev, *nxt; + struct net_device *dev; rtnl_lock(); - for_each_netdev_safe(&init_net, dev, nxt) - if (dev->priv_flags & IFF_EBRIDGE) +restart: + for_each_netdev(&init_net, dev) { + if (dev->priv_flags & IFF_EBRIDGE) { del_br(dev->priv); + goto restart; + } + } rtnl_unlock(); }