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;