Commit b7b34d05 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Michael S. Tsirkin
Browse files

qdev: reorganize error reporting in bus_set_realized



No semantic change.

Cc: qemu-stable@nongnu.org
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Tested-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarAndreas Färber <afaerber@suse.de>
parent 0d156683
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -573,27 +573,19 @@ static void bus_set_realized(Object *obj, bool value, Error **errp)
    if (value && !bus->realized) {
        if (bc->realize) {
            bc->realize(bus, &local_err);

            if (local_err != NULL) {
                goto error;
            }

        }
    } else if (!value && bus->realized) {
        if (bc->unrealize) {
            bc->unrealize(bus, &local_err);

            if (local_err != NULL) {
                goto error;
            }
        }
    }

    bus->realized = value;
    if (local_err != NULL) {
        error_propagate(errp, local_err);
        return;
    }

error:
    error_propagate(errp, local_err);
    bus->realized = value;
}

void qbus_create_inplace(void *bus, size_t size, const char *typename,