Message ID | 20201029220246.472693-5-ehabkost@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Make qdev static property API usable by any QOM type | expand |
On Fri, Oct 30, 2020 at 2:06 AM Eduardo Habkost <ehabkost@redhat.com> wrote: > This setter is one of the very few property setters that don't > check dev->realized, and there's no reason to make size > properties different from the rest. Add the missing check. > > Fixes: e8cd45c78f53 ("qdev: Add SIZE type to qdev properties") > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > Suitable for 5.2 imho (you should send/pr separately) Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: "Daniel P. Berrangé" <berrange@redhat.com> > Cc: Eduardo Habkost <ehabkost@redhat.com> > Cc: qemu-devel@nongnu.org > --- > hw/core/qdev-properties.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c > index 12a053e732..67ae19df05 100644 > --- a/hw/core/qdev-properties.c > +++ b/hw/core/qdev-properties.c > @@ -905,6 +905,11 @@ static void set_size(Object *obj, Visitor *v, const > char *name, void *opaque, > Property *prop = opaque; > uint64_t *ptr = qdev_get_prop_ptr(dev, prop); > > + if (dev->realized) { > + qdev_prop_set_after_realize(dev, name, errp); > + return; > + } > + > visit_type_size(v, name, ptr, errp); > } > > -- > 2.28.0 > > >
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 12a053e732..67ae19df05 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -905,6 +905,11 @@ static void set_size(Object *obj, Visitor *v, const char *name, void *opaque, Property *prop = opaque; uint64_t *ptr = qdev_get_prop_ptr(dev, prop); + if (dev->realized) { + qdev_prop_set_after_realize(dev, name, errp); + return; + } + visit_type_size(v, name, ptr, errp); }
This setter is one of the very few property setters that don't check dev->realized, and there's no reason to make size properties different from the rest. Add the missing check. Fixes: e8cd45c78f53 ("qdev: Add SIZE type to qdev properties") Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Daniel P. Berrangé" <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: qemu-devel@nongnu.org --- hw/core/qdev-properties.c | 5 +++++ 1 file changed, 5 insertions(+)