summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBandan Das2014-02-26 18:32:40 +0100
committerAlex Williamson2014-02-26 18:32:40 +0100
commit52aa17cbd800b9e71b67cf7f80c3498183d34ec8 (patch)
tree045ed30fb5ad3771a8c14be849aa23bbc15a74f0
parentpci-assign: Fix potential read beyond buffer on -EBUSY (diff)
downloadqemu-52aa17cbd800b9e71b67cf7f80c3498183d34ec8.tar.gz
qemu-52aa17cbd800b9e71b67cf7f80c3498183d34ec8.tar.xz
qemu-52aa17cbd800b9e71b67cf7f80c3498183d34ec8.zip
qdev-monitor: set DeviceState opts before calling realize
Setting opts before the realize property is set allows the following patch to make decisions based on whether the user specified "rombar". This also avoids having to create a new tristate property especially for this purpose Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Bandan Das <bsd@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r--qdev-monitor.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 3a7dc0d428..6673e3cb61 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -548,16 +548,18 @@ DeviceState *qdev_device_add(QemuOpts *opts)
OBJECT(dev), NULL);
g_free(name);
}
+
+ dev->opts = opts;
object_property_set_bool(OBJECT(dev), true, "realized", &err);
if (err != NULL) {
qerror_report_err(err);
error_free(err);
+ dev->opts = NULL;
object_unparent(OBJECT(dev));
object_unref(OBJECT(dev));
qerror_report(QERR_DEVICE_INIT_FAILED, driver);
return NULL;
}
- dev->opts = opts;
return dev;
}