summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2017-09-04 15:21:55 +0100
committerMichael Roth <mdroth@linux.vnet.ibm.com>2017-09-22 18:12:26 -0500
commitde4ad17a8ed674e672c626c5e4b7e27dc82ca55e (patch)
tree99c5b1934ce53848106b72dc449e3294eb08c828
parent8a9d7f30636b5ab151f47c7f03b4797bc1408151 (diff)
downloadqemu-de4ad17a8ed674e672c626c5e4b7e27dc82ca55e.tar.gz
hw/arm/digic: Mark device with user_creatable = false
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 <thuth@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> (cherry picked from commit f58f25599b72c7479e6a1ff67c7f671823aa14da) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--hw/arm/digic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/arm/digic.c b/hw/arm/digic.c
index 94f32637f0..6184020985 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 = {