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/lcd.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff -puN drivers/char/lcd.c~msleep_interruptible-drivers_char_lcd drivers/char/lcd.c
--- linux-2.6.9-rc2-bk7/drivers/char/lcd.c~msleep_interruptible-drivers_char_lcd 2004-09-21 21:08:12.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/lcd.c 2004-09-21 21:08:12.000000000 +0200
@@ -24,6 +24,7 @@
#include <linux/mc146818rtc.h>
#include <linux/netdevice.h>
#include <linux/sched.h>
+#include <linux/delay.h>
#include <asm/io.h>
#include <asm/uaccess.h>
@@ -583,8 +584,7 @@ static long lcd_read(struct inode *inode
lcd_waiters++;
while (((buttons_now = (long) button_pressed()) == 0) &&
!(signal_pending(current))) {
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(2 * HZ);
+ msleep_interruptible(2000);
}
lcd_waiters--;
_