From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60009) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yj1Ce-0007KL-PY for qemu-devel@nongnu.org; Fri, 17 Apr 2015 04:00:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yj1Cb-0001b0-Jd for qemu-devel@nongnu.org; Fri, 17 Apr 2015 04:00:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52780) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yj1Cb-0001ap-F2 for qemu-devel@nongnu.org; Fri, 17 Apr 2015 04:00:41 -0400 From: Fam Zheng Date: Fri, 17 Apr 2015 15:59:27 +0800 Message-Id: <1429257573-7359-13-git-send-email-famz@redhat.com> In-Reply-To: <1429257573-7359-1-git-send-email-famz@redhat.com> References: <1429257573-7359-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH 12/18] virtio: Return -EINVAL if the vdev needs reset in virtqueue_pop List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , "Michael S. Tsirkin" , "Aneesh Kumar K.V" , Stefan Hajnoczi , Amit Shah , Paolo Bonzini Signed-off-by: Fam Zheng --- hw/virtio/virtio.c | 3 +++ 1 file changed, 3 insertions(+) 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; -- 1.9.3