From 3b190952134bca2748b3902b57c646565107adcd Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Wed, 5 Sep 2012 10:31:52 +0200 Subject: [PATCH] kvm tools: virtio-rng init/exit Make the init/exit of virtio-rng self-contained, so the global init code won't need to check if it was selected or not. Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- tools/kvm/builtin-run.c | 7 +++++-- tools/kvm/virtio/rng.c | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c index c9a7f208e011..906d7134ccfb 100644 --- a/tools/kvm/builtin-run.c +++ b/tools/kvm/builtin-run.c @@ -1130,8 +1130,11 @@ static int kvm_cmd_run_init(int argc, const char **argv) goto fail; } - if (kvm->cfg.virtio_rng) - virtio_rng__init(kvm); + r = virtio_rng__init(kvm); + if (r < 0) { + pr_err("virtio_rng__init() failed with error %d\n", r); + goto fail; + } if (kvm->cfg.balloon) virtio_bln__init(kvm); diff --git a/tools/kvm/virtio/rng.c b/tools/kvm/virtio/rng.c index 2b1ab39f34c3..91228e2fffb3 100644 --- a/tools/kvm/virtio/rng.c +++ b/tools/kvm/virtio/rng.c @@ -147,6 +147,9 @@ int virtio_rng__init(struct kvm *kvm) struct rng_dev *rdev; int r; + if (!kvm->cfg.virtio_rng) + return 0; + rdev = malloc(sizeof(*rdev)); if (rdev == NULL) return -ENOMEM; -- 2.39.5