diff mbox

[12/18] virtio: Return -EINVAL if the vdev needs reset in virtqueue_pop

Message ID 1429257573-7359-13-git-send-email-famz@redhat.com
State New
Headers show

Commit Message

Fam Zheng April 17, 2015, 7:59 a.m. UTC
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 hw/virtio/virtio.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox

Patch

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7ff0dc4..87f8c36 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -505,6 +505,9 @@  int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem, Error **errp)
     VirtIODevice *vdev = vq->vdev;
     Error *local_err = NULL;
 
+    if (virtio_device_needs_reset(vdev)) {
+        return -EINVAL;
+    }
     ret = virtqueue_num_heads(vq, vq->last_avail_idx, &local_err);
     if (ret <= 0) {
         goto err;