<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

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, &amp;t-&gt;state)) {
 		do

_
</pre></body></html>