Commit 8e11c9d3 authored by Stefan Hajnoczi's avatar Stefan Hajnoczi
Browse files

tests: fix virtio-net-test ISR dependence



Use the new used ring APIs instead of assuming ISR being set means the
request has completed.

Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarFam Zheng <famz@redhat.com>
Tested-by: default avatarEric Blake <eblake@redhat.com>
Tested-by: default avatarKevin Wolf <kwolf@redhat.com>
Message-id: 20170628184724.21378-6-stefanha@redhat.com
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 12dfbdca
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -108,7 +108,7 @@ static void rx_test(QVirtioDevice *dev,
    ret = iov_send(socket, iov, 2, 0, sizeof(len) + sizeof(test));
    g_assert_cmpint(ret, ==, sizeof(test) + sizeof(len));

    qvirtio_wait_queue_isr(dev, vq, QVIRTIO_NET_TIMEOUT_US);
    qvirtio_wait_used_elem(dev, vq, free_head, QVIRTIO_NET_TIMEOUT_US);
    memread(req_addr + VNET_HDR_SIZE, buffer, sizeof(test));
    g_assert_cmpstr(buffer, ==, "TEST");

@@ -131,7 +131,7 @@ static void tx_test(QVirtioDevice *dev,
    free_head = qvirtqueue_add(vq, req_addr, 64, false, false);
    qvirtqueue_kick(dev, vq, free_head);

    qvirtio_wait_queue_isr(dev, vq, QVIRTIO_NET_TIMEOUT_US);
    qvirtio_wait_used_elem(dev, vq, free_head, QVIRTIO_NET_TIMEOUT_US);
    guest_free(alloc, req_addr);

    ret = qemu_recv(socket, &len, sizeof(len), 0);
@@ -182,7 +182,7 @@ static void rx_stop_cont_test(QVirtioDevice *dev,
    rsp = qmp("{ 'execute' : 'cont'}");
    QDECREF(rsp);

    qvirtio_wait_queue_isr(dev, vq, QVIRTIO_NET_TIMEOUT_US);
    qvirtio_wait_used_elem(dev, vq, free_head, QVIRTIO_NET_TIMEOUT_US);
    memread(req_addr + VNET_HDR_SIZE, buffer, sizeof(test));
    g_assert_cmpstr(buffer, ==, "TEST");