Hi, I am currently looking at a rt2x00 regression in 2.6.26-rcX http://bugzilla.kernel.org/process_bug.cgi This regression is caused by a circular locking problem (see http://bugzilla.kernel.org/attachment.cgi?id=16581) The problem seems be caused by rt2x00 using ieee80211_iterate_active_interfaces() within the workqueue as provided by mac80211. But this will trigger the circular dependency when 'ifdown' is called. If I am not mistaken, 'ifdown' will grab the rtnl lock and ieee80211_stop() is called. That function calls flush_workqueue() which cannot succeed because it will wait on a thread that is also trying to grab the rtnl lock. Possible solution would be making rt2x00 use its own workqueue, but that will cause similar problems since it can't use flush either it could however use flags to prevent ieee80211_iterate_active_interfaces() being called. However it does mean that a solution for the mac80211 workqueue also has to be found, since rt2x00 isn't the only use of the mac80211 workqueue, but currently is the only one who uses it in combination with ieee80211_iterate_active_interfaces(). And apparently those 2 cannot be combined. :S Ivo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html