diff -u --new-file --exclude-from ../exclude --recursive linux.vanilla/drivers/char/n_tty.c linux.15p6/drivers/char/n_tty.c
--- linux.vanilla/drivers/char/n_tty.c	Wed Oct 20 01:12:35 1999
+++ linux.15p6/drivers/char/n_tty.c	Wed Jan 26 23:20:23 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;
diff -u --new-file --exclude-from ../exclude --recursive linux.vanilla/drivers/char/random.c linux.15p6/drivers/char/random.c
--- linux.vanilla/drivers/char/random.c	Wed Oct 20 01:12:35 1999
+++ linux.15p6/drivers/char/random.c	Wed Jan 12 01:14:43 2000
@@ -1328,6 +1328,7 @@
 			schedule();
 			continue;
 		}
+		current->state = TASK_RUNNING;
 		n = extract_entropy(&random_state, buf, n, 1);
 		if (n < 0) {
 			retval = n;

