diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2014-02-14 12:27:04 +1100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-03-05 03:07:00 +0100 |
commit | 0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59 (patch) | |
tree | b4c7ec9806bc11214be231e118f87c852c2088b6 /hw | |
parent | ac174549b730531a4d13c8281e2247e66ba0f46d (diff) | |
download | qemu-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>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/net/spapr_llan.c | 2 |
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); |