]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
virtio: disable error for out of spec queue-enable
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 21 Nov 2022 20:01:50 +0000 (15:01 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 22 Nov 2022 10:19:00 +0000 (05:19 -0500)
Virtio 1.0 is pretty clear that features have to be
negotiated before enabling VQs. Unfortunately Seabios
ignored this ever since gaining 1.0 support (UEFI is ok).
Comment the error out for now, and add a TODO.

Fixes: 3c37f8b8d1 ("virtio: introduce virtio_queue_enable()")
Cc: "Kangjie Xu" <kangjie.xu@linux.alibaba.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20221121200339.362452-1-mst@redhat.com>

hw/virtio/virtio.c

index 9683b2e158a47a2fab26aaaa436329b3d9652013..eb6347ab5db023a690601f84f684ca31b84d3b69 100644 (file)
@@ -2499,10 +2499,17 @@ void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index)
 {
     VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
 
+    /*
+     * TODO: Seabios is currently out of spec and triggering this error.
+     * So this needs to be fixed in Seabios, then this can
+     * be re-enabled for new machine types only, and also after
+     * being converted to LOG_GUEST_ERROR.
+     *
     if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) {
         error_report("queue_enable is only suppported in devices of virtio "
                      "1.0 or later.");
     }
+    */
 
     if (k->queue_enable) {
         k->queue_enable(vdev, queue_index);