aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2014-02-14 12:27:04 +1100
committerAlexander Graf <agraf@suse.de>2014-03-05 03:07:00 +0100
commit0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59 (patch)
treeb4c7ec9806bc11214be231e118f87c852c2088b6
parentac174549b730531a4d13c8281e2247e66ba0f46d (diff)
downloadqemu-0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59.zip
qemu-0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59.tar.gz
qemu-0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59.tar.bz2
spapr-vlan: flush queue whenever can_receive can go from false to true
When the guests adds buffers to receive queue, the network device should flush its queue of pending packets. This is done with qemu_flush_queued_packets. This adds a call to qemu_flush_queued_packets() which wakes up the main loop and let QEMU update the network device status which now is "can receive". The patch basically does the same thing as e8b4c68 does. Suggested-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/net/spapr_llan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
index 1bd6f50..f6fbcb5 100644
--- a/hw/net/spapr_llan.c
+++ b/hw/net/spapr_llan.c
@@ -405,6 +405,8 @@ static target_ulong h_add_logical_lan_buffer(PowerPCCPU *cpu,
dev->rx_bufs++;
+ qemu_flush_queued_packets(qemu_get_queue(dev->nic));
+
DPRINTF("h_add_logical_lan_buffer(): Added buf ptr=%d rx_bufs=%d"
" bd=0x%016llx\n", dev->add_buf_ptr, dev->rx_bufs,
(unsigned long long)buf);