diff mbox

qemu: init all queues to NO_VECTOR value

Message ID 20090907182015.GA8565@redhat.com
State Superseded
Headers show

Commit Message

Michael S. Tsirkin Sept. 7, 2009, 6:20 p.m. UTC
initialize vectors for all vqs to VIRTIO_NO_VECTOR rather than 0 which
is a valid vector. This fixes migration which happened before driver
was loaded.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reported-by: Amit Shah <amit.shah@redhat.com>
Tested-by: Amit Shah <amit.shah@redhat.com>
---
 hw/virtio.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/hw/virtio.c b/hw/virtio.c
index 41e7ca2..337ff27 100644
--- a/hw/virtio.c
+++ b/hw/virtio.c
@@ -694,6 +694,7 @@  VirtIODevice *virtio_common_init(const char *name, uint16_t device_id,
                                  size_t config_size, size_t struct_size)
 {
     VirtIODevice *vdev;
+    int i;
 
     vdev = qemu_mallocz(struct_size);
 
@@ -703,6 +704,8 @@  VirtIODevice *virtio_common_init(const char *name, uint16_t device_id,
     vdev->queue_sel = 0;
     vdev->config_vector = VIRTIO_NO_VECTOR;
     vdev->vq = qemu_mallocz(sizeof(VirtQueue) * VIRTIO_PCI_QUEUE_MAX);
+    for(i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++)
+        vdev->vq[i].vector = VIRTIO_NO_VECTOR;
 
     vdev->name = name;
     vdev->config_len = config_size;