diff --git a/drivers/char/random.c b/drivers/char/random.c
index d4761c05564b..1a4e3ee498c7 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1578,7 +1578,7 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
 		 */
 		if (!capable(CAP_SYS_ADMIN))
 			return -EPERM;
-		if (xchg(&input_pool.entropy_count, 0)) {
+		if (xchg(&input_pool.entropy_count, 0) >= POOL_MIN_BITS) {
 			wake_up_interruptible(&random_write_wait);
 			kill_fasync(&fasync, SIGIO, POLL_OUT);
 		}