Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Acked-by: Martin Schwidefsky Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer --- kj-domen/drivers/s390/net/ctctty.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/s390/net/ctctty.c~msleep_interruptible-drivers_s390_net_ctctty drivers/s390/net/ctctty.c --- kj/drivers/s390/net/ctctty.c~msleep_interruptible-drivers_s390_net_ctctty 2005-04-05 12:55:29.000000000 +0200 +++ kj-domen/drivers/s390/net/ctctty.c 2005-04-05 12:55:29.000000000 +0200 @@ -1056,8 +1056,7 @@ ctc_tty_close(struct tty_struct *tty, st info->tty = 0; tty->closing = 0; if (info->blocked_open) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ/2); + msleep_interruptible(500); wake_up_interruptible(&info->open_wait); } info->flags &= ~(CTC_ASYNC_NORMAL_ACTIVE | CTC_ASYNC_CLOSING); _