Just put allthe logic inside the same if. Signed-off-by: Juan Quintela <quint...@redhat.com> --- softmmu/qdev-monitor.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index a25f5d612c..12b7540f17 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -600,7 +600,6 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp) const char *driver, *path; DeviceState *dev = NULL; BusState *bus = NULL; - bool hide; driver = qemu_opt_get(opts, "driver"); if (!driver) { @@ -634,17 +633,19 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp) return NULL; } } - hide = should_hide_device(opts); - if ((hide || qdev_hotplug) && bus && !qbus_is_hotpluggable(bus)) { + if (should_hide_device(opts)) { + if (bus && !qbus_is_hotpluggable(bus)) { + error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); + } + return NULL; + } + + if (qdev_hotplug && bus && !qbus_is_hotpluggable(bus)) { error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); return NULL; } - if (hide) { - return NULL; - } - if (!migration_is_idle()) { error_setg(errp, "device_add not allowed while migrating"); return NULL; -- 2.26.2