If we got fewer bytes from the backend than requested, don't poke the backend for more bytes; the guest will ask for more (or if the guest has already asked for more, the backend knows about it via handle_input()).
Signed-off-by: Amit Shah <amit.s...@redhat.com> Reviewed-by: Anthony Liguori <aligu...@us.ibm.com> --- hw/virtio-rng.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/hw/virtio-rng.c b/hw/virtio-rng.c index 6c49bb2..cf5a8ff 100644 --- a/hw/virtio-rng.c +++ b/hw/virtio-rng.c @@ -80,13 +80,6 @@ static void chr_read(void *opaque, const void *buf, size_t size) virtqueue_push(vrng->vq, &elem, len); } virtio_notify(&vrng->vdev, vrng->vq); - - /* - * Lastly, if we had multiple elems queued by the guest, and we - * didn't have enough data to fill them all, indicate we want more - * data. - */ - virtio_rng_process(vrng); } static void virtio_rng_process(VirtIORNG *vrng) -- 1.8.0