From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYFzd-0001JU-HX for qemu-devel@nongnu.org; Fri, 03 May 2013 09:25:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UYFzY-0007AQ-Rr for qemu-devel@nongnu.org; Fri, 03 May 2013 09:25:45 -0400 From: Igor Mammedov Date: Fri, 3 May 2013 15:25:36 +0200 Message-Id: <1367587536-14964-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH for-1.5] qdev: skip bus check for bus-less devices in qdev_unplug() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, bonzini@gnu.org, afaerber@suse.de 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 --- hw/core/qdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } -- 1.8.2.1