qemu: init all queues to NO_VECTOR value
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> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
711bf3d954
commit
b8193adbda
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user