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]>
Looks good.
Signed-off-by: Rogier Wolff <[email protected]>
Signed-off-by: Maximilian Attems <[email protected]>
---
linux-2.6.9-rc2-bk7-max/drivers/char/hvc_console.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff -puN drivers/char/hvc_console.c~msleep_interruptible-drivers_char_hvc_console drivers/char/hvc_console.c
--- linux-2.6.9-rc2-bk7/drivers/char/hvc_console.c~msleep_interruptible-drivers_char_hvc_console 2004-09-21 21:08:07.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/hvc_console.c 2004-09-21 21:08:07.000000000 +0200
@@ -37,6 +37,7 @@
#include <linux/tty_flip.h>
#include <linux/sched.h>
#include <linux/spinlock.h>
+#include <linux/delay.h>
#include <asm/uaccess.h>
#include <asm/hvconsole.h>
#include <asm/vio.h>
@@ -44,7 +45,7 @@
#define HVC_MAJOR 229
#define HVC_MINOR 0
-#define TIMEOUT ((HZ + 99) / 100)
+#define TIMEOUT (10)
/*
* Wait this long per iteration while trying to push buffered data to the
@@ -610,7 +611,7 @@ int khvcd(void *unused)
if (poll_mask == 0)
schedule();
else
- schedule_timeout(TIMEOUT);
+ msleep_interruptible(TIMEOUT);
}
__set_current_state(TASK_RUNNING);
} while (!kthread_should_stop());
_