summaryrefslogtreecommitdiffstats
path: root/hw/s390x/s390-virtio-ccw.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/s390x/s390-virtio-ccw.c')
-rw-r--r--hw/s390x/s390-virtio-ccw.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 1a171f0c96..20e8e95c61 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -69,19 +69,20 @@ static S390CPU *s390x_new_cpu(const char *typename, uint32_t core_id,
{
S390CPU *cpu = S390_CPU(object_new(typename));
Error *err = NULL;
+ S390CPU *ret = NULL;
if (!object_property_set_int(OBJECT(cpu), "core-id", core_id, &err)) {
goto out;
}
- qdev_realize(DEVICE(cpu), NULL, &err);
+ if (!qdev_realize(DEVICE(cpu), NULL, &err)) {
+ goto out;
+ }
+ ret = cpu;
out:
object_unref(OBJECT(cpu));
- if (err) {
- error_propagate(errp, err);
- cpu = NULL;
- }
- return cpu;
+ error_propagate(errp, err);
+ return ret;
}
static void s390_init_cpus(MachineState *machine)