|
From: | KONRAD Frédéric |
Subject: | Re: [Qemu-devel] [PATCH] virtio-s390: add a reset function to virtio-s390 devices |
Date: | Wed, 16 Jan 2013 09:42:21 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
On 16/01/2013 05:52, mdroth wrote:
On Thu, Jan 10, 2013 at 03:40:25PM +0100, Paolo Bonzini wrote: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 <address@hidden>
Isn't this handled by virtio-refactoring ? I mean if we have a virtio bus on this VirtIOS390Device like in this series: http://www.mail-archive.com/address@hidden/msg149035.htmlAnd make VirtIODevice an abstract device which connects on this bus we can reset it with the normal way ?
Ping. This fix doesn't appear to be upstream yet and I'm also looking to get this in for 1.3.1. (hint: `patches search tag:unapplied to:qemu-stable` :)--- 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 = { -- 1.8.1
[Prev in Thread] | Current Thread | [Next in Thread] |