diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2010-06-14 10:33:36 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-06-14 10:33:36 -0500 |
commit | a4673e276248ada38f40d39191a197e7e35d3f8b (patch) | |
tree | 4ecdac95fb7bb86eefc08ee38ca229c4d89e02e0 /hw/qdev.c | |
parent | a2da0395c12bd2b26e2180d735c83988ff66a559 (diff) | |
parent | 653dbec7c97cb51d19636423902719e5850da265 (diff) |
Merge remote branch 'kwolf/for-anthony' into staging
Conflicts:
hw/pc.c
Diffstat (limited to 'hw/qdev.c')
-rw-r--r-- | hw/qdev.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -334,6 +334,7 @@ void qdev_init_nofail(DeviceState *dev) void qdev_free(DeviceState *dev) { BusState *bus; + Property *prop; if (dev->state == DEV_STATE_INITIALIZED) { while (dev->num_child_bus) { @@ -349,6 +350,11 @@ void qdev_free(DeviceState *dev) } qemu_unregister_reset(qdev_reset, dev); QLIST_REMOVE(dev, sibling); + for (prop = dev->info->props; prop && prop->name; prop++) { + if (prop->info->free) { + prop->info->free(dev, prop); + } + } qemu_free(dev); } |