virtio-net: fix virtio-net child refcount in transports
commit6a0c6b59788627541faf70864464f1e155dc18d7
authorGonglei <arei.gonglei@huawei.com>
Tue, 30 Sep 2014 06:10:28 +0000 (30 14:10 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 30 Sep 2014 09:08:38 +0000 (30 11:08 +0200)
tree0c36a06438b7c3b4d876a7c7d7e66c8f226f21b8
parent7779edfeb1822ff5f554a4c1f3e9798789a9352c
virtio-net: fix virtio-net child refcount in transports

object_initialize() leaves the object with a refcount of 1.
object_property_add_child() adds its own reference which is dropped
again when the property is deleted.

The upshot of this is that we always have a refcount >= 1.  Upon hot
unplug the virtio-net child is not finalized!

Drop our reference after the child property has been added to the
parent.

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/s390x/s390-virtio-bus.c
hw/s390x/virtio-ccw.c
hw/virtio/virtio-pci.c