char/esp: replace schedule_timeout() with msleep_interruptible()
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.
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(-)
drivers/char/esp.c renamed from drivers/char/esp.c~msleep_interruptible-drivers_char_esp +3 -4
@@ -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 ttwhile ((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 ;
_