Commit cf4b6440 authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2020-03-17' into staging



Error reporting patches for 2020-03-17

# gpg: Signature made Tue 17 Mar 2020 16:30:49 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-error-2020-03-17:
  hw/sd/ssi-sd: fix error handling in ssi_sd_realize
  xen-block: Use one Error * variable instead of two
  hw/misc/ivshmem: Use one Error * variable instead of two
  Use &error_abort instead of separate assert()

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents b319df55 709dfb64
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -838,10 +838,8 @@ void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)
{
    BlockJobInfoList *list;
    Error *err = NULL;

    list = qmp_query_block_jobs(&err);
    assert(!err);
    list = qmp_query_block_jobs(&error_abort);

    if (!list) {
        monitor_printf(mon, "No active jobs\n");
+4 −6
Original line number Diff line number Diff line
@@ -998,14 +998,13 @@ static void xen_block_device_destroy(XenBackendInstance *backend,
    XenBlockVdev *vdev = &blockdev->props.vdev;
    XenBlockDrive *drive = blockdev->drive;
    XenBlockIOThread *iothread = blockdev->iothread;
    Error *local_err = NULL;

    trace_xen_block_device_destroy(vdev->number);

    object_unparent(OBJECT(xendev));

    if (iothread) {
        Error *local_err = NULL;

        xen_block_iothread_destroy(iothread, &local_err);
        if (local_err) {
            error_propagate_prepend(errp, local_err,
@@ -1015,12 +1014,11 @@ static void xen_block_device_destroy(XenBackendInstance *backend,
    }

    if (drive) {
        Error *local_err = NULL;

        xen_block_drive_destroy(drive, &local_err);
        if (local_err) {
            error_propagate_prepend(errp, local_err,
                                    "failed to destroy drive: ");
            return;
        }
    }
}
+3 −4
Original line number Diff line number Diff line
@@ -832,7 +832,6 @@ static void ivshmem_common_realize(PCIDevice *dev, Error **errp)
    IVShmemState *s = IVSHMEM_COMMON(dev);
    Error *err = NULL;
    uint8_t *pci_conf;
    Error *local_err = NULL;

    /* IRQFD requires MSI */
    if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
@@ -899,9 +898,9 @@ static void ivshmem_common_realize(PCIDevice *dev, Error **errp)
    if (!ivshmem_is_master(s)) {
        error_setg(&s->migration_blocker,
                   "Migration is disabled when using feature 'peer mode' in device 'ivshmem'");
        migrate_add_blocker(s->migration_blocker, &local_err);
        if (local_err) {
            error_propagate(errp, local_err);
        migrate_add_blocker(s->migration_blocker, &err);
        if (err) {
            error_propagate(errp, err);
            error_free(s->migration_blocker);
            return;
        }
+14 −2
Original line number Diff line number Diff line
@@ -255,13 +255,25 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
    carddev = qdev_create(BUS(&s->sdbus), TYPE_SD_CARD);
    if (dinfo) {
        qdev_prop_set_drive(carddev, "drive", blk_by_legacy_dinfo(dinfo), &err);
        if (err) {
            goto fail;
        }
    }

    object_property_set_bool(OBJECT(carddev), true, "spi", &err);
    if (err) {
        goto fail;
    }

    object_property_set_bool(OBJECT(carddev), true, "realized", &err);
    if (err) {
        error_setg(errp, "failed to init SD card: %s", error_get_pretty(err));
        return;
        goto fail;
    }

    return;

fail:
    error_propagate_prepend(errp, err, "failed to init SD card: ");
}

static void ssi_sd_reset(DeviceState *dev)
+2 −6
Original line number Diff line number Diff line
@@ -206,9 +206,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
            return NULL;
        }
    } else {
        Error *err = NULL;
        arm_cpu_finalize_features(ARM_CPU(obj), &err);
        assert(err == NULL);
        arm_cpu_finalize_features(ARM_CPU(obj), &error_abort);
    }

    expansion_info = g_new0(CpuModelExpansionInfo, 1);
@@ -221,12 +219,10 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
    while ((name = cpu_model_advertised_features[i++]) != NULL) {
        ObjectProperty *prop = object_property_find(obj, name, NULL);
        if (prop) {
            Error *err = NULL;
            QObject *value;

            assert(prop->get);
            value = object_property_get_qobject(obj, name, &err);
            assert(!err);
            value = object_property_get_qobject(obj, name, &error_abort);

            qdict_put_obj(qdict_out, name, value);
        }
Loading