A deadlock was found in bridge netfilter code (2.4 only), when a device is removed. The device removal path causes a BPDU to be generated and ends up self deadlocking on the BR lock.
Simple fix would be to avoid generating config bpdu's immediately when becoming root bridge, and just let the first hello timer tick do that. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- linux-2.4.33.3.orig/net/bridge/br_stp.c 2006-10-30 12:46:59.000000000 -0800 +++ linux-2.4.33.3/net/bridge/br_stp.c 2006-10-30 12:53:59.000000000 -0800 @@ -140,8 +140,8 @@ br->forward_delay = br->bridge_forward_delay; br_topology_change_detection(br); br_timer_clear(&br->tcn_timer); - br_config_bpdu_generation(br); - br_timer_set(&br->hello_timer, jiffies); + + br_timer_set(&br->hello_timer, jiffies - br->hello_time); } /* called under bridge lock */ -- Stephen Hemminger <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html