aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/char/hw_random/core.c6
-rw-r--r--drivers/char/hw_random/virtio-rng.c9
2 files changed, 0 insertions, 15 deletions
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index c4419ea1ab07..2a451b14b3cc 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -68,12 +68,6 @@ static void add_early_randomness(struct hwrng *rng)
68 unsigned char bytes[16]; 68 unsigned char bytes[16];
69 int bytes_read; 69 int bytes_read;
70 70
71 /*
72 * Currently only virtio-rng cannot return data during device
73 * probe, and that's handled in virtio-rng.c itself. If there
74 * are more such devices, this call to rng_get_data can be
75 * made conditional here instead of doing it per-device.
76 */
77 bytes_read = rng_get_data(rng, bytes, sizeof(bytes), 1); 71 bytes_read = rng_get_data(rng, bytes, sizeof(bytes), 1);
78 if (bytes_read > 0) 72 if (bytes_read > 0)
79 add_device_randomness(bytes, bytes_read); 73 add_device_randomness(bytes, bytes_read);
diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c
index d9927eb4fa98..0027137daa56 100644
--- a/drivers/char/hw_random/virtio-rng.c
+++ b/drivers/char/hw_random/virtio-rng.c
@@ -38,7 +38,6 @@ struct virtrng_info {
38 bool hwrng_register_done; 38 bool hwrng_register_done;
39}; 39};
40 40
41static bool probe_done;
42 41
43static void random_recv_done(struct virtqueue *vq) 42static void random_recv_done(struct virtqueue *vq)
44{ 43{
@@ -69,13 +68,6 @@ static int virtio_read(struct hwrng *rng, void *buf, size_t size, bool wait)
69 int ret; 68 int ret;
70 struct virtrng_info *vi = (struct virtrng_info *)rng->priv; 69 struct virtrng_info *vi = (struct virtrng_info *)rng->priv;
71 70
72 /*
73 * Don't ask host for data till we're setup. This call can
74 * happen during hwrng_register(), after commit d9e7972619.
75 */
76 if (unlikely(!probe_done))
77 return 0;
78
79 if (!vi->busy) { 71 if (!vi->busy) {
80 vi->busy = true; 72 vi->busy = true;
81 init_completion(&vi->have_data); 73 init_completion(&vi->have_data);
@@ -137,7 +129,6 @@ static int probe_common(struct virtio_device *vdev)
137 return err; 129 return err;
138 } 130 }
139 131
140 probe_done = true;
141 return 0; 132 return 0;
142} 133}
143 134