2004-09-24 02:10:00

by maximilian attems

[permalink] [raw]
Subject: [patch 05/26] char/esp: replace schedule_timeout() with msleep_interruptible()




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/esp.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)

diff -puN drivers/char/esp.c~msleep_interruptible-drivers_char_esp drivers/char/esp.c
--- linux-2.6.9-rc2-bk7/drivers/char/esp.c~msleep_interruptible-drivers_char_esp 2004-09-21 21:08:02.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/esp.c 2004-09-21 21:08:02.000000000 +0200
@@ -57,6 +57,7 @@
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/init.h>
+#include <linux/delay.h>

#include <asm/system.h>
#include <asm/io.h>
@@ -2074,8 +2075,7 @@ static void rs_close(struct tty_struct *

if (info->blocked_open) {
if (info->close_delay) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(info->close_delay);
+ msleep_interruptible(jiffies_to_msecs(info->close_delay));
}
wake_up_interruptible(&info->open_wait);
}
@@ -2106,8 +2106,7 @@ static void rs_wait_until_sent(struct tt

while ((serial_in(info, UART_ESI_STAT1) != 0x03) ||
(serial_in(info, UART_ESI_STAT2) != 0xff)) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(char_time);
+ msleep_interruptible(jiffies_to_msecs(char_time));

if (signal_pending(current))
break;
_