patch-2.1.127 linux/drivers/isdn/isdn_tty.c

Next file: linux/drivers/isdn/isdnloop/isdnloop.c
Previous file: linux/drivers/isdn/icn/icn.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.126/linux/drivers/isdn/isdn_tty.c linux/drivers/isdn/isdn_tty.c
@@ -1820,9 +1820,8 @@
 		timeout = jiffies + HZ;
 		while (!(info->lsr & UART_LSR_TEMT)) {
 			current->state = TASK_INTERRUPTIBLE;
-			current->timeout = jiffies + 20;
-			schedule();
-			if (jiffies > timeout)
+			schedule_timeout(20);
+			if (time_after(jiffies,timeout))
 				break;
 		}
 	}
@@ -1837,8 +1836,7 @@
 	tty->closing = 0;
 	if (info->blocked_open) {
 		current->state = TASK_INTERRUPTIBLE;
-		current->timeout = jiffies + 50;
-		schedule();
+		schedule_timeout(50);
 		wake_up_interruptible(&info->open_wait);
 	}
 	info->flags &= ~(ISDN_ASYNC_NORMAL_ACTIVE | ISDN_ASYNC_CALLOUT_ACTIVE |

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov