On 19.01.2013, at 15:10, Paolo Bonzini wrote: > Il 10/01/2013 15:40, Paolo Bonzini ha scritto: >> virtio-s390 devices are not being reset when their bus is. To fix >> this, add a reset method that forwards to virtio_reset. This is >> only needed because of the "strange" modeling of virtio devices; >> the ->vdev link is being handled manually rather than through qdev. >> >> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> >> --- >> hw/s390-virtio-bus.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c >> index 7e99175..1e3e4f0 100644 >> --- a/hw/s390-virtio-bus.c >> +++ b/hw/s390-virtio-bus.c >> @@ -505,6 +505,13 @@ static int s390_virtio_busdev_init(DeviceState *dev) >> return _info->init(_dev); >> } >> >> +static void s390_virtio_busdev_reset(DeviceState *dev) >> +{ >> + VirtIOS390Device *_dev = (VirtIOS390Device *)dev; >> + >> + virtio_reset(_dev->vdev); >> +} >> + >> static void virtio_s390_device_class_init(ObjectClass *klass, void *data) >> { >> DeviceClass *dc = DEVICE_CLASS(klass); >> @@ -512,6 +519,7 @@ static void virtio_s390_device_class_init(ObjectClass >> *klass, void *data) >> dc->init = s390_virtio_busdev_init; >> dc->bus_type = TYPE_S390_VIRTIO_BUS; >> dc->unplug = qdev_simple_unplug_cb; >> + dc->reset = s390_virtio_busdev_reset; >> } >> >> static TypeInfo virtio_s390_device_info = { >> > > Alex, you missed this.
Yeah, sorry. It's not going to be my last s390 pull request before 1.4 :) Alex