From: Herbert Xu The following patch calls might_sleep in tasklet_kill. This would've helped in tracking down http://bugs.debian.org/234365 where someone called tasklet_kill with IRQs disabled. --- 25-akpm/kernel/softirq.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN kernel/softirq.c~call-might_sleep-in-tasklet_kill kernel/softirq.c --- 25/kernel/softirq.c~call-might_sleep-in-tasklet_kill Tue May 11 15:21:22 2004 +++ 25-akpm/kernel/softirq.c Tue May 11 15:21:22 2004 @@ -311,8 +311,7 @@ EXPORT_SYMBOL(tasklet_init); void tasklet_kill(struct tasklet_struct *t) { - if (in_interrupt()) - printk("Attempt to kill tasklet from interrupt\n"); + might_sleep(); while (test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) { do _