diff options
Diffstat (limited to 'tools/virtio/vringh_test.c')
-rw-r--r-- | tools/virtio/vringh_test.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c index d053ea40c001..14a4f4cab5b9 100644 --- a/tools/virtio/vringh_test.c +++ b/tools/virtio/vringh_test.c | |||
@@ -22,7 +22,7 @@ static u64 user_addr_offset; | |||
22 | #define RINGSIZE 256 | 22 | #define RINGSIZE 256 |
23 | #define ALIGN 4096 | 23 | #define ALIGN 4096 |
24 | 24 | ||
25 | static void never_notify_host(struct virtqueue *vq) | 25 | static bool never_notify_host(struct virtqueue *vq) |
26 | { | 26 | { |
27 | abort(); | 27 | abort(); |
28 | } | 28 | } |
@@ -65,17 +65,22 @@ struct guest_virtio_device { | |||
65 | unsigned long notifies; | 65 | unsigned long notifies; |
66 | }; | 66 | }; |
67 | 67 | ||
68 | static void parallel_notify_host(struct virtqueue *vq) | 68 | static bool parallel_notify_host(struct virtqueue *vq) |
69 | { | 69 | { |
70 | int rc; | ||
70 | struct guest_virtio_device *gvdev; | 71 | struct guest_virtio_device *gvdev; |
71 | 72 | ||
72 | gvdev = container_of(vq->vdev, struct guest_virtio_device, vdev); | 73 | gvdev = container_of(vq->vdev, struct guest_virtio_device, vdev); |
73 | write(gvdev->to_host_fd, "", 1); | 74 | rc = write(gvdev->to_host_fd, "", 1); |
75 | if (rc < 0) | ||
76 | return false; | ||
74 | gvdev->notifies++; | 77 | gvdev->notifies++; |
78 | return true; | ||
75 | } | 79 | } |
76 | 80 | ||
77 | static void no_notify_host(struct virtqueue *vq) | 81 | static bool no_notify_host(struct virtqueue *vq) |
78 | { | 82 | { |
83 | return true; | ||
79 | } | 84 | } |
80 | 85 | ||
81 | #define NUM_XFERS (10000000) | 86 | #define NUM_XFERS (10000000) |