Skip to contentSkip to conversation

char/esp: replace schedule_timeout() with msleep_interruptible()

PATCH In review [email protected] 1 participant 1 message Sep 24, 2004 Char and misc drivers

lore
Share & tools
lore
#0 lore raw

PATCH 5/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.

---

 linux-2.6.9-rc2-bk7-max/drivers/char/esp.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
drivers/char/esp.c renamed from drivers/char/esp.c~msleep_interruptible-drivers_char_esp +3 -4
diff -puN drivers/char/esp.c~msleep_interruptible-drivers_char_esp drivers/char/esp.c
@@ -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;

_