vserver 1.9.5.x5
[linux-2.6.git] / drivers / isdn / hysdn / hysdn_sched.c
index 1a2015e..4fa3b01 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/ioport.h>
 #include <linux/interrupt.h>
+#include <linux/delay.h>
 #include <asm/io.h>
 
 #include "hysdn_defs.h"
@@ -160,8 +161,7 @@ hysdn_tx_cfgline(hysdn_card * card, uchar * line, word chan)
                if (card->debug_flags & LOG_SCHED_ASYN)
                        hysdn_addlog(card, "async tx-cfg delayed");
 
-               set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout((20 * HZ) / 1000);     /* Timeout 20ms */
+               msleep_interruptible(20);               /* Timeout 20ms */
                if (!--cnt) {
                        restore_flags(flags);
                        return (-ERR_ASYNC_TIME);       /* timed out */
@@ -190,8 +190,7 @@ hysdn_tx_cfgline(hysdn_card * card, uchar * line, word chan)
                if (card->debug_flags & LOG_SCHED_ASYN)
                        hysdn_addlog(card, "async tx-cfg waiting for tx-ready");
 
-               set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout((20 * HZ) / 1000);     /* Timeout 20ms */
+               msleep_interruptible(20);               /* Timeout 20ms */
                if (!--cnt) {
                        restore_flags(flags);
                        return (-ERR_ASYNC_TIME);       /* timed out */