On 22 August 2017 at 15:30, Thomas Huth <th...@redhat.com> wrote: > QEMU currently shows some unexpected behavior when the user trys to > do a "device_add digic" on an unrelated ARM machine like integratorcp > in "-nographic" mode (the device_add command does not immediately > return to the monitor prompt), and trying to "device_del" the device > later results in a "qemu/qdev-monitor.c:872:qdev_unplug: assertion > failed: (hotplug_ctrl)" error condition. > Looking at the realize function of the device, it uses serial_hds > directly and this means that the device can not be added a second > time, so let's simply mark it with "user_creatable = false" now. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > v2: Updated the comment and the patch description > > hw/arm/digic.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/arm/digic.c b/hw/arm/digic.c > index 94f3263..6184020 100644 > --- a/hw/arm/digic.c > +++ b/hw/arm/digic.c > @@ -101,6 +101,8 @@ static void digic_class_init(ObjectClass *oc, void *data) > DeviceClass *dc = DEVICE_CLASS(oc); > > dc->realize = digic_realize; > + /* Reason: Uses serial_hds in the realize function --> not usable twice > */ > + dc->user_creatable = false; > } > > static const TypeInfo digic_type_info = {
Applied to target-arm.next for 2.11, thanks. -- PMM