On Tue June 15 2010 13:10:16 Bob Copeland wrote: > On Tue, Jun 15, 2010 at 10:07:21AM +0900, Bruno Randolf wrote: > > On Mon June 14 2010 20:43:02 you wrote: > > > On Mon, Jun 14, 2010 at 10:50:59AM +0900, Bruno Randolf wrote: > > > > 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? > > > > > > Disable interrupts then tasklet_kill should do it. > > > > what's wrong with first disable interrupts and tasklet_disable? > > Look at the code for tasklet_disable... it only waits for tasks that > are in the run state but doesn't do anything for scheduled tasks. > So you can still get the spinning behavior if the interrupt runs and > schedules the tasklet on another CPU. if we disable interrupts in the chip (ath5k_hw_set_imr) , the hardware does not generate any interrupts. so no tasklets will get scheduled... 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