From: Herbert Xu <herbert@gondor.apana.org.au>

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

_