diff --git a/drivers/char/random.c b/drivers/char/random.c index 474f65128533..99a0f16d0541 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -722,7 +722,8 @@ retry: } /* should we wake readers? */ - if (entropy_bits >= random_read_wakeup_bits) { + if (entropy_bits >= random_read_wakeup_bits && + wq_has_sleeper(&random_read_wait)) { wake_up_interruptible(&random_read_wait); kill_fasync(&fasync, SIGIO, POLL_IN); }