diff options
Diffstat (limited to 'hw/core/qdev-properties.c')
| -rw-r--r-- | hw/core/qdev-properties.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 3cb6faa12b..4c7a8a05a5 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -761,15 +761,15 @@ static void set_pci_devfn(Object *obj, Visitor *v, const char *name, if (!visit_type_str(v, name, &str, &local_err)) { error_free(local_err); local_err = NULL; - visit_type_int32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); - } else if (value < -1 || value > 255) { + if (!visit_type_int32(v, name, &value, errp)) { + return; + } + if (value < -1 || value > 255) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null", "pci_devfn"); - } else { - *ptr = value; + return; } + *ptr = value; return; } |