Stefano Garzarella
2022-Jul-04 17:16 UTC
[RFC PATCH 3/6] virtio_test: call __virtio_unbreak_device
Commit 8b4ec69d7e09 ("virtio: harden vring IRQ") initialize vq->broken to true, so we need to call __virtio_unbreak_device() before starting to use it. Signed-off-by: Stefano Garzarella <sgarzare at redhat.com> --- tools/virtio/linux/virtio.h | 2 ++ tools/virtio/virtio_test.c | 1 + 2 files changed, 3 insertions(+) diff --git a/tools/virtio/linux/virtio.h b/tools/virtio/linux/virtio.h index 363b98228301..feb720d4304f 100644 --- a/tools/virtio/linux/virtio.h +++ b/tools/virtio/linux/virtio.h @@ -66,4 +66,6 @@ struct virtqueue *vring_new_virtqueue(unsigned int index, const char *name); void vring_del_virtqueue(struct virtqueue *vq); +void __virtio_unbreak_device(struct virtio_device *dev); + #endif diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c index 23f142af544a..765e64895dab 100644 --- a/tools/virtio/virtio_test.c +++ b/tools/virtio/virtio_test.c @@ -177,6 +177,7 @@ static void run_test(struct vdev_info *dev, struct vq_info *vq, long long spurious = 0; const bool random_batch = batch == RANDOM_BATCH; + __virtio_unbreak_device(&dev->vdev); r = ioctl(dev->control, VHOST_TEST_RUN, &test); assert(r >= 0); if (!reset_n) { -- 2.36.1
Michael S. Tsirkin
2022-Jul-04 19:06 UTC
[RFC PATCH 3/6] virtio_test: call __virtio_unbreak_device
On Mon, Jul 04, 2022 at 07:16:58PM +0200, Stefano Garzarella wrote:> Commit 8b4ec69d7e09 ("virtio: harden vring IRQ") initialize vq->broken > to true, so we need to call __virtio_unbreak_device() before starting > to use it. > > Signed-off-by: Stefano Garzarella <sgarzare at redhat.com>I think this shouldn't be necessary with latest master.> --- > tools/virtio/linux/virtio.h | 2 ++ > tools/virtio/virtio_test.c | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/tools/virtio/linux/virtio.h b/tools/virtio/linux/virtio.h > index 363b98228301..feb720d4304f 100644 > --- a/tools/virtio/linux/virtio.h > +++ b/tools/virtio/linux/virtio.h > @@ -66,4 +66,6 @@ struct virtqueue *vring_new_virtqueue(unsigned int index, > const char *name); > void vring_del_virtqueue(struct virtqueue *vq); > > +void __virtio_unbreak_device(struct virtio_device *dev); > + > #endif > diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c > index 23f142af544a..765e64895dab 100644 > --- a/tools/virtio/virtio_test.c > +++ b/tools/virtio/virtio_test.c > @@ -177,6 +177,7 @@ static void run_test(struct vdev_info *dev, struct vq_info *vq, > long long spurious = 0; > const bool random_batch = batch == RANDOM_BATCH; > > + __virtio_unbreak_device(&dev->vdev); > r = ioctl(dev->control, VHOST_TEST_RUN, &test); > assert(r >= 0); > if (!reset_n) { > -- > 2.36.1