Commit 7e86d18b authored by Nishanth Aravamudan's avatar Nishanth Aravamudan Committed by Linus Torvalds

[PATCH] macintosh/macserial: replace schedule_timeout() with msleep_interruptible()

Use msleep_interruptible() instead of schedule_timeout() to guarantee the
task delays as expected.
Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 221c8563
...@@ -2002,8 +2002,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) ...@@ -2002,8 +2002,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
if (info->blocked_open) { if (info->blocked_open) {
if (info->close_delay) { if (info->close_delay) {
current->state = TASK_INTERRUPTIBLE; msleep_interruptible(jiffies_to_msecs(info->close_delay));
schedule_timeout(info->close_delay);
} }
wake_up_interruptible(&info->open_wait); wake_up_interruptible(&info->open_wait);
} }
...@@ -2048,8 +2047,7 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) ...@@ -2048,8 +2047,7 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout)
if (timeout) if (timeout)
char_time = min_t(unsigned long, char_time, timeout); char_time = min_t(unsigned long, char_time, timeout);
while ((read_zsreg(info->zs_channel, 1) & ALL_SNT) == 0) { while ((read_zsreg(info->zs_channel, 1) & ALL_SNT) == 0) {
current->state = TASK_INTERRUPTIBLE; msleep_interruptible(jiffies_to_msecs(char_time));
schedule_timeout(char_time);
if (signal_pending(current)) if (signal_pending(current))
break; break;
if (timeout && time_after(jiffies, orig_jiffies + timeout)) if (timeout && time_after(jiffies, orig_jiffies + timeout))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment