|
@@ -987,6 +987,11 @@ void add_device_randomness(const void *buf, unsigned int size)
|
|
|
unsigned long time = random_get_entropy() ^ jiffies;
|
|
|
unsigned long flags;
|
|
|
|
|
|
+ if (!crng_ready()) {
|
|
|
+ crng_fast_load(buf, size);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
trace_add_device_randomness(size, _RET_IP_);
|
|
|
spin_lock_irqsave(&input_pool.lock, flags);
|
|
|
_mix_pool_bytes(&input_pool, buf, size);
|