QEMU properly reverts queue_enable to 0 on device reset as of: commit 75fd6f13af8513f1e14add754549141e415f8704 Author: Gerd Hoffmann <kra...@redhat.com> Date: Thu Jan 28 16:08:07 2016 +0100
virtio-pci: call pci reset variant when guest requests reset. Signed-off-by: Ladi Prosek <lpro...@redhat.com> --- src/drivers/bus/virtio-pci.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/drivers/bus/virtio-pci.c b/src/drivers/bus/virtio-pci.c index 1fcf9ba..89c4512 100644 --- a/src/drivers/bus/virtio-pci.c +++ b/src/drivers/bus/virtio-pci.c @@ -347,10 +347,7 @@ int vpm_find_vqs(struct virtio_pci_modern_device *vdev, /* Check if queue is either not available or already active. */ size = vpm_ioread16(vdev, &vdev->common, COMMON_OFFSET(queue_size)); - /* QEMU has a bug where queues don't revert to inactive on device - * reset. Skip checking the queue_enable field until it is fixed. - */ - if (!size /*|| vpm_ioread16(vdev, &vdev->common.queue_enable)*/) + if (!size || vpm_ioread16(vdev, &vdev->common, COMMON_OFFSET(queue_enable))) return -ENOENT; if (size & (size - 1)) { -- 2.7.4 _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel