[Qemu-devel] [PATCH v2 01/12] virtio-ccw: move virtio_ccw_stop_ioeventfd to virtio_ccw_busdev_unplug

2013-10-15 Thread Paolo Bonzini
Similar to the PCI bug that prompted these patches, virtio-ccw will
segfault after the reworking of hotplug/hot-unplug.  Prepare for
this by moving virtio_ccw_stop_ioeventfd to before the freeing
of the proxy device.

A better place for this could be the device_unplugged callback
for the virtio-ccw bus.  However, we do not yet have a callback
that works: this patch avoids the problem while leaving the tree
bisectable.

Reported-by: Cornelia Huck cornelia.h...@de.ibm.com
Suggested-by: Cornelia Huck cornelia.h...@de.ibm.com
Signed-off-by: Paolo Bonzini pbonz...@redhat.com
---
 hw/s390x/virtio-ccw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index cd67db5..a6accdf 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -631,7 +631,6 @@ static int virtio_ccw_exit(VirtioCcwDevice *dev)
 {
 SubchDev *sch = dev-sch;
 
-virtio_ccw_stop_ioeventfd(dev);
 if (sch) {
 css_subch_assign(sch-cssid, sch-ssid, sch-schid, sch-devno, NULL);
 g_free(sch);
@@ -1228,6 +1227,8 @@ static int virtio_ccw_busdev_unplug(DeviceState *dev)
 VirtioCcwDevice *_dev = (VirtioCcwDevice *)dev;
 SubchDev *sch = _dev-sch;
 
+virtio_ccw_stop_ioeventfd(_dev);
+
 /*
  * We should arrive here only for device_del, since we don't support
  * direct hot(un)plug of channels, but only through virtio.
-- 
1.8.3.1





Re: [Qemu-devel] [PATCH v2 01/12] virtio-ccw: move virtio_ccw_stop_ioeventfd to virtio_ccw_busdev_unplug

2013-10-15 Thread Cornelia Huck
On Tue, 15 Oct 2013 16:52:42 +0200
Paolo Bonzini pbonz...@redhat.com wrote:

 Similar to the PCI bug that prompted these patches, virtio-ccw will
 segfault after the reworking of hotplug/hot-unplug.  Prepare for
 this by moving virtio_ccw_stop_ioeventfd to before the freeing
 of the proxy device.
 
 A better place for this could be the device_unplugged callback
 for the virtio-ccw bus.  However, we do not yet have a callback
 that works: this patch avoids the problem while leaving the tree
 bisectable.
 
 Reported-by: Cornelia Huck cornelia.h...@de.ibm.com
 Suggested-by: Cornelia Huck cornelia.h...@de.ibm.com
 Signed-off-by: Paolo Bonzini pbonz...@redhat.com
 ---
  hw/s390x/virtio-ccw.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 

Reviewed-by: Cornelia Huck cornelia.h...@de.ibm.com