On 6/23/08, Michael Buesch <mb@xxxxxxxxx> wrote: > On Monday 23 June 2008 00:42:41 Ivo van Doorn wrote: >> That function calls flush_workqueue() > > Uh wait. It shouldn't call that. Where exactly is this function called? It is called right before local->ops->remove_interface() which means the workqueue is flushed when it isn't even guaranteed that all interfaces are gone. net/mac80211/main.c:553 static int ieee80211_stop(struct net_device *dev) { <snip> switch (sdata->vif.type) { case IEEE80211_IF_TYPE_MESH_POINT: case IEEE80211_IF_TYPE_STA: case IEEE80211_IF_TYPE_IBSS: <snip> flush_workqueue(local->hw.workqueue); <snip> } <snip> } 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