As previously posted, there can be cases where the RTNL is held for a very long time when trying to do the: flush_workqueue(local->workqueue); in mac80211_do_stop because there are lots of 'slow' work-items queued up. I'd like to work on making this faster... My first idea is to add a second work-queue to the 'local' for high-priority items that can be executed independently from the current local->workqueue, and put the free_sta_rcu work() in that queue. I'm guessing that to be safe, the do_stop() code would need to selectively purge any work items in the local->workqueue that relate to the sdata being destroyed, as well. I'm not sure how possible that would be... Any comments on this, or suggestions for a better way to do this? Thanks, Ben -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- 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