if we clear vdev->isr, it seems logic to call virtio_update_irq(vdev) to
update irq.

The bug appears when we boot with etherboot virtio driver which
never read the interrupt status and so never clear it.

Signed-off-by: Laurent Vivier <[EMAIL PROTECTED]>
---
 qemu/hw/virtio.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/qemu/hw/virtio.c b/qemu/hw/virtio.c
index 2ea1ebe..3429ac8 100644
--- a/qemu/hw/virtio.c
+++ b/qemu/hw/virtio.c
@@ -214,6 +214,7 @@ void virtio_reset(void *opaque)
     vdev->queue_sel = 0;
     vdev->status = 0;
     vdev->isr = 0;
+    virtio_update_irq(vdev);
 
     for(i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++) {
         vdev->vq[i].vring.desc = NULL;
-- 
1.5.2.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to