A bus may have hotplugging enabled but not have the 'unplug' callback defined, which would lead to a crash on trying to unplug a device on the bus.
Fix by introducing an assert to check if the callback is valid. Signed-off-by: Amit Shah <amit.s...@redhat.com> --- hw/qdev.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/qdev.c b/hw/qdev.c index c7884d0..d19d531 100644 --- a/hw/qdev.c +++ b/hw/qdev.c @@ -258,6 +258,8 @@ int qdev_unplug(DeviceState *dev) dev->parent_bus->name); return -1; } + assert(dev->info->unplug != NULL); + return dev->info->unplug(dev); } -- 1.6.2.5