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 <[email protected]>
Signed-off-by: Maximilian Attems <[email protected]>
---
linux-2.6.9-rc2-bk7-max/drivers/char/rocket.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff -puN drivers/char/rocket.c~msleep_interruptible-drivers_char_rocket drivers/char/rocket.c
--- linux-2.6.9-rc2-bk7/drivers/char/rocket.c~msleep_interruptible-drivers_char_rocket 2004-09-21 21:08:18.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/rocket.c 2004-09-21 21:08:18.000000000 +0200
@@ -1108,8 +1108,7 @@ static void rp_close(struct tty_struct *
if (info->blocked_open) {
if (info->close_delay) {
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(info->close_delay);
+ msleep_interruptible(jiffies_to_msecs(info->close_delay));
}
wake_up_interruptible(&info->open_wait);
} else {
@@ -1534,8 +1533,7 @@ static void rp_wait_until_sent(struct tt
#ifdef ROCKET_DEBUG_WAIT_UNTIL_SENT
printk(KERN_INFO "txcnt = %d (jiff=%lu,check=%d)...", txcnt, jiffies, check_time);
#endif
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(check_time);
+ msleep_interruptible(jiffies_to_msecs(check_time));
if (signal_pending(current))
break;
}
_