diff -urpNX dontdiff a/drivers/char/hw_random.c b/drivers/char/hw_random.c
--- a/drivers/char/hw_random.c	2005-04-21 02:03:13.000000000 +0200
+++ b/drivers/char/hw_random.c	2005-04-29 10:03:50.000000000 +0200
@@ -514,7 +514,7 @@ static ssize_t rng_dev_read (struct file
 
 		if(need_resched())
 		{
-			current->state = TASK_INTERRUPTIBLE;
+			set_current_state(TASK_INTERRUPTIBLE);
 			schedule_timeout(1);
 		}
 		else
