From: Alexey Kardashevskiy Date: Fri, 14 Feb 2014 01:27:04 +0000 (+1100) Subject: spapr-vlan: flush queue whenever can_receive can go from false to true X-Git-Tag: qemu-xen-4.5.0-rc1~145^2~11 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59;p=qemu-upstream-4.5-testing.git 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 Signed-off-by: Alexey Kardashevskiy Signed-off-by: Alexander Graf --- diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c index 1bd6f50aa..f6fbcb56b 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);