Marcelo Tosatti wrote:
When two virtio devices share an interrupt virtio-net floods the console
with "this should not happen" message.

As Anthony points this is not a fatal condition: its possible that the
guest consumed all ring elements between the can_receive check and
actual net_receive call.

Thanks for catching this!


Signed-off-by: Marcelo Tosatti <[EMAIL PROTECTED]>

Acked-by: Anthony Liguori <[EMAIL PROTECTED]>

Regards,

Anthony Liguori

diff --git a/qemu/hw/virtio-net.c b/qemu/hw/virtio-net.c
index a61fdb1..2e57e5a 100644
--- a/qemu/hw/virtio-net.c
+++ b/qemu/hw/virtio-net.c
@@ -119,10 +119,8 @@ static void virtio_net_receive(void *opaque, const uint8_t 
*buf, int size)
     struct virtio_net_hdr *hdr;
     int offset, i;

-    if (virtqueue_pop(n->rx_vq, &elem) == 0) {
-       fprintf(stderr, "virtio_net: this should not happen\n");
+    if (virtqueue_pop(n->rx_vq, &elem) == 0)
        return;
-    }

     if (elem.in_num < 1 || elem.in_sg[0].iov_len != sizeof(*hdr)) {
        fprintf(stderr, "virtio-net header not in first element\n");

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to