Any comments would be appreciated. Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer --- kj-domen/drivers/sbus/char/envctrl.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/sbus/char/envctrl.c~msleep_interruptible-drivers_sbus_char_envctrl drivers/sbus/char/envctrl.c --- kj/drivers/sbus/char/envctrl.c~msleep_interruptible-drivers_sbus_char_envctrl 2004-12-25 01:35:03.000000000 +0100 +++ kj-domen/drivers/sbus/char/envctrl.c 2004-12-25 01:35:03.000000000 +0100 @@ -1016,8 +1016,7 @@ static int kenvctrld(void *__unused) printk(KERN_INFO "envctrl: %s starting...\n", current->comm); for (;;) { - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(poll_interval); + msleep_interruptible(jiffies_to_msecs(poll_interval)); if(signal_pending(current)) break; _