diff mbox

[18/33] kvm tools: virtio-rng init/exit

Message ID 1346833927-15740-19-git-send-email-levinsasha928@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sasha Levin Sept. 5, 2012, 8:31 a.m. UTC
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 <levinsasha928@gmail.com>
---
 tools/kvm/builtin-run.c | 7 +++++--
 tools/kvm/virtio/rng.c  | 3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c
index ef539b9a..ed7babc 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 2b1ab39..91228e2 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;