From: Igor Mammedov Date: Fri, 3 May 2013 13:25:36 +0000 (+0200) Subject: qdev: skip bus check for bus-less devices in qdev_unplug() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=120dc38f6113b676ecef0a2c9e42fc08cace5bdb;p=qemu.git 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 Message-id: 1367587536-14964-1-git-send-email-imammedo@redhat.com Signed-off-by: Anthony Liguori --- diff --git a/hw/core/qdev.c b/hw/core/qdev.c index ab1d8f52f1..069ac9034c 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; }