Index: oldkernel/linux/drivers/char/n_tty.c
diff -u linux/drivers/char/n_tty.c:1.2 linux/drivers/char/n_tty.c:1.3
--- linux/drivers/char/n_tty.c:1.2	Thu Jun  1 15:08:24 2000
+++ linux/drivers/char/n_tty.c	Thu Jun  1 15:37:48 2000
@@ -1094,7 +1094,9 @@
 				nr -= num;
 				if (nr == 0)
 					break;
+				current->state = TASK_RUNNING;
 				get_user(c, b);
+				current->state = TASK_INTERRUPTIBLE;
 				if (opost(c, tty) < 0)
 					break;
 				b++; nr--;
@@ -1102,7 +1104,9 @@
 			if (tty->driver.flush_chars)
 				tty->driver.flush_chars(tty);
 		} else {
+			current->state = TASK_RUNNING;
 			c = tty->driver.write(tty, 1, b, nr);
+			current->state = TASK_INTERRUPTIBLE;
 			if (c < 0) {
 				retval = c;
 				goto break_out;
Index: oldkernel/linux/drivers/char/random.c
diff -u linux/drivers/char/random.c:1.1.1.1 linux/drivers/char/random.c:1.2
--- linux/drivers/char/random.c:1.1.1.1	Wed May 31 12:33:50 2000
+++ linux/drivers/char/random.c	Thu Jun  1 15:37:48 2000
@@ -1328,6 +1328,7 @@
 			schedule();
 			continue;
 		}
+		current->state = TASK_RUNNING;
 		n = extract_entropy(&random_state, buf, n, 1);
 		if (n < 0) {
 			retval = n;
