On Wed, May 16, 2012 at 12:23 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 16/05/2012 13:15, Anthony PERARD ha scritto: >>> > qdev_unplug(&(d->qdev), NULL); >>> > + qdev_free(&(d->qdev)); >>> > } >>> > } >>> > >>> > >>> > Anthony, can you confirm that this solves the problem for you? >> This work until I try to hotplug a new device to the guest at wish >> point I have this: >> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete: >> assertion failed: (obj->ref == 0) >> >> This is because there is still a pending request of the hotunplug in >> the acpi piix4. >> If I call qdev_free without qdev_unplug, I hit the same assert, but >> rigth away. This is way something new. > > Because it's missing the object_unparent done by qdev_unplug. Does > object_unparent+qdev_free work? (I believe object_unparent should be > done by qdev_free rather than qdev_unplug, but that's something for 1.2).
Cool, this seems to work fine. Thanks. I'll test a bit more and resend a patch with only object_unparent+qdev_free. -- Anthony PERARD