]> Git Repo - qemu.git/commitdiff
qdev: skip bus check for bus-less devices in qdev_unplug()
authorIgor Mammedov <[email protected]>
Fri, 3 May 2013 13:25:36 +0000 (15:25 +0200)
committerAnthony Liguori <[email protected]>
Fri, 3 May 2013 17:05:33 +0000 (12:05 -0500)
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 <[email protected]>
Message-id: 1367587536[email protected]
Signed-off-by: Anthony Liguori <[email protected]>
hw/core/qdev.c

index ab1d8f52f16cf088bf3de7267f24f4b54bc34bc2..069ac9034cf6df9937629f236f95bc7ba40f498a 100644 (file)
@@ -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;
     }
This page took 0.027917 seconds and 4 git commands to generate.