On Friday 11 June 2010 23:38:15 Bob Copeland wrote: > On Fri, Jun 11, 2010 at 10:21 AM, Bob Copeland <me@xxxxxxxxxxxxxxx> wrote: > > On Fri, Jun 11, 2010 at 6:41 AM, Johannes Berg > > > > <johannes@xxxxxxxxxxxxxxxx> wrote: > >> I have no idea how long a reset can take, but this means that all these > >> tasklets will spin while your reset is running if they were scheduled. > > > > It looks to me like tasklet_action() will bail out when the tasklet has a > > positive t->count (which disable elevates) rather than spin. What did I > > miss? > > As Johannes pointed out on irc, I missed that it re-raises the softirq. > doh! well, what else can we do? we have to make sure the tasklets don't run concurrently to a reset to keep rx and tx buffers consistent. we disable interrupts right after disabling the tasklets, so they should not be scheduled again, right? actually, we should disable interrupts first, and then disable tasklets... but then it should be safe, no? bruno -- 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