diff mbox series

virtio: remove the excess virtio features check

Message ID 20221109111021.24344-1-xuanzhuo@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series virtio: remove the excess virtio features check | expand

Commit Message

Xuan Zhuo Nov. 9, 2022, 11:10 a.m. UTC
In virtio_queue_enable(), we checked virtio feature VIRTIO_F_VERSION_1.

This check is not necessary, and conflict with SeaBIOS. The problem
appeared in SeaBIOS. But we also remove this check.

Link: https://www.mail-archive.com/qemu-devel@nongnu.org/msg920538.html
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
---
 hw/virtio/virtio.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Michael S. Tsirkin Nov. 9, 2022, 2:46 p.m. UTC | #1
On Wed, Nov 09, 2022 at 07:10:21PM +0800, Xuan Zhuo wrote:
> In virtio_queue_enable(), we checked virtio feature VIRTIO_F_VERSION_1.
> 
> This check is not necessary, and conflict with SeaBIOS. The problem
> appeared in SeaBIOS. But we also remove this check.
> 
> Link: https://www.mail-archive.com/qemu-devel@nongnu.org/msg920538.html
> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> ---
>  hw/virtio/virtio.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> index 9683b2e158..701e23ea6a 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -2499,11 +2499,6 @@ void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index)
>  {
>      VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
>  
> -    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);
>      }

Well this warning turned out to be actually useful.
Let's see whether we can fix seabios in time for release.
If yes I would just make it LOG_GUEST_ERR and limit to
latest machine type but not drop completely.

> -- 
> 2.32.0.3.g01195cf9f
Xuan Zhuo Nov. 10, 2022, 2:12 a.m. UTC | #2
On Wed, 9 Nov 2022 09:46:18 -0500, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Wed, Nov 09, 2022 at 07:10:21PM +0800, Xuan Zhuo wrote:
> > In virtio_queue_enable(), we checked virtio feature VIRTIO_F_VERSION_1.
> >
> > This check is not necessary, and conflict with SeaBIOS. The problem
> > appeared in SeaBIOS. But we also remove this check.
> >
> > Link: https://www.mail-archive.com/qemu-devel@nongnu.org/msg920538.html
> > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > ---
> >  hw/virtio/virtio.c | 5 -----
> >  1 file changed, 5 deletions(-)
> >
> > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> > index 9683b2e158..701e23ea6a 100644
> > --- a/hw/virtio/virtio.c
> > +++ b/hw/virtio/virtio.c
> > @@ -2499,11 +2499,6 @@ void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index)
> >  {
> >      VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
> >
> > -    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);
> >      }
>
> Well this warning turned out to be actually useful.
> Let's see whether we can fix seabios in time for release.
> If yes I would just make it LOG_GUEST_ERR and limit to
> latest machine type but not drop completely.

OK.


>
> > --
> > 2.32.0.3.g01195cf9f
>
diff mbox series

Patch

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 9683b2e158..701e23ea6a 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2499,11 +2499,6 @@  void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index)
 {
     VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
 
-    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);
     }