On Thu, Sep 18, 2008 at 2:05 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Wed, 2008-09-17 at 16:03 -0700, Luis R. Rodriguez wrote: > >> > What I need to next is to add is rtnl_lock >> > qdisc_root_lock requires this. This root lock is held during requeuing >> > which can be triggered by removal or addition of an aggregation queue. >> >> I saw that, but rtnl_lock() is mutex basd so no good. Hence we need >> something that works around this. > > As I outlined earlier I'm pretty much convinced you need to go to the > workqueue anyway. Use schedule_work though, not the mac80211 workqueue, > you can't take the rtnl on the mac80211 wq. The Addition is done from 1. Rate scale - tx_status context (tasklet) - need schedule here, but I don't like this conceptually 2. debugfs - this should be OK removal is called from the driver using callback ... not nice as well. Tomas -- 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