aboutsummaryrefslogtreecommitdiff
path: root/hw/core/qdev.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2013-05-03 15:25:36 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2013-05-03 12:05:33 -0500
commit120dc38f6113b676ecef0a2c9e42fc08cace5bdb (patch)
tree43491d62cb03c0377396d7772fe7771339b2d48c /hw/core/qdev.c
parent6f32a6b47ef4247ad14dad63c6ee231fdce4c5e9 (diff)
downloadqemu-120dc38f6113b676ecef0a2c9e42fc08cace5bdb.zip
qemu-120dc38f6113b676ecef0a2c9e42fc08cace5bdb.tar.gz
qemu-120dc38f6113b676ecef0a2c9e42fc08cace5bdb.tar.bz2
qdev: skip bus check for bus-less devices in qdev_unplug()
Since commit 2f7bd829db "qdev: Fix device_add bus assumptions" it's possible to device_add bus-less device, but if such device is unplugged it will dereference NULL parent_bus in qdev_unplug(). Fix it by taking in account that parent_bus might be NULL and skipping bus check. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-id: 1367587536-14964-1-git-send-email-imammedo@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/core/qdev.c')
-rw-r--r--hw/core/qdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index ab1d8f5..069ac90 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -208,7 +208,7 @@ void qdev_unplug(DeviceState *dev, Error **errp)
{
DeviceClass *dc = DEVICE_GET_CLASS(dev);
- if (!dev->parent_bus->allow_hotplug) {
+ if (dev->parent_bus && !dev->parent_bus->allow_hotplug) {
error_set(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name);
return;
}