* [patch 22/26] char/synclink: replace schedule_timeout() with msleep_interruptible()
@ 2004-09-23 20:25 janitor
0 siblings, 0 replies; only message in thread
From: janitor @ 2004-09-23 20:25 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, janitor, nacc
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 <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
---
linux-2.6.9-rc2-bk7-max/drivers/char/synclink.c | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diff -puN drivers/char/synclink.c~msleep_interruptible-drivers_char_synclink drivers/char/synclink.c
--- linux-2.6.9-rc2-bk7/drivers/char/synclink.c~msleep_interruptible-drivers_char_synclink 2004-09-21 21:08:23.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/char/synclink.c 2004-09-21 21:08:23.000000000 +0200
@@ -82,6 +82,7 @@
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/slab.h>
+#include <linux/delay.h>
#include <linux/netdevice.h>
@@ -3246,8 +3247,7 @@ static void mgsl_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);
}
@@ -3313,8 +3313,7 @@ static void mgsl_wait_until_sent(struct
if ( info->params.mode == MGSL_MODE_HDLC ||
info->params.mode == MGSL_MODE_RAW ) {
while (info->tx_active) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(char_time);
+ msleep_interruptible(jiffies_to_msecs(char_time));
if (signal_pending(current))
break;
if (timeout && time_after(jiffies, orig_jiffies + timeout))
@@ -3323,8 +3322,7 @@ static void mgsl_wait_until_sent(struct
} else {
while (!(usc_InReg(info,TCSR) & TXSTATUS_ALL_SENT) &&
info->tx_enabled) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(char_time);
+ msleep_interruptible(jiffies_to_msecs(char_time));
if (signal_pending(current))
break;
if (timeout && time_after(jiffies, orig_jiffies + timeout))
@@ -7193,8 +7191,7 @@ BOOLEAN mgsl_irq_test( struct mgsl_struc
EndTime=100;
while( EndTime-- && !info->irq_occurred ) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(msecs_to_jiffies(10));
+ msleep_interruptible(10);
}
spin_lock_irqsave(&info->irq_spinlock,flags);
_
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-09-24 3:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-23 20:25 [patch 22/26] char/synclink: replace schedule_timeout() with msleep_interruptible() janitor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox