diff mbox series

[v6,9/9] virtio: Move vdev->broken check to dispatch drop_all

Message ID 20191024171406.12504-10-eperezma@redhat.com (mailing list archive)
State New, archived
Headers show
Series Packed virtqueue for virtio | expand

Commit Message

Eugenio Perez Martin Oct. 24, 2019, 5:14 p.m. UTC
Previous commits did the same with others virtqueue_ functions, but this
check was repeated in the split and the packed version.

Signed-off-by: Eugenio PĂ©rez <eperezma@redhat.com>
---
 hw/virtio/virtio.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 9195b08da8..828c27de1f 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -1631,10 +1631,6 @@  static unsigned int virtqueue_packed_drop_all(VirtQueue *vq)
     VirtIODevice *vdev = vq->vdev;
     VRingPackedDesc desc;
 
-    if (unlikely(vdev->broken)) {
-        return 0;
-    }
-
     caches = vring_get_region_caches(vq);
     desc_cache = &caches->desc;
 
@@ -1680,10 +1676,6 @@  static unsigned int virtqueue_split_drop_all(VirtQueue *vq)
     VirtIODevice *vdev = vq->vdev;
     bool fEventIdx = virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX);
 
-    if (unlikely(vdev->broken)) {
-        return 0;
-    }
-
     while (!virtio_queue_empty(vq) && vq->inuse < vq->vring.num) {
         /* works similar to virtqueue_pop but does not map buffers
         * and does not allocate any memory */
@@ -1715,6 +1707,10 @@  unsigned int virtqueue_drop_all(VirtQueue *vq)
 {
     struct VirtIODevice *vdev = vq->vdev;
 
+    if (unlikely(vdev->broken)) {
+        return 0;
+    }
+
     if (virtio_vdev_has_feature(vdev, VIRTIO_F_RING_PACKED)) {
         return virtqueue_packed_drop_all(vq);
     } else {