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