diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-11-14 14:53:46 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-11-15 13:25:39 +0100 |
commit | 8b7acc79b9adb4dda6cc867b90e3a1e873f4f7e8 (patch) | |
tree | 9f3055b64a4b08ee2723cd0bb822d743337e41ea | |
parent | 5c5432e7d630592ddcc1876ac8a1505f8f14ef15 (diff) |
smc91c111: Fix receive starvation
In case the smc91c111 interface signals that it cannot receive more
packets the packets are queued and further reception will be disabled.
In case the interface is again ready to receive packets notify the upper
layer.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | hw/net/smc91c111.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c index f5963e2cbe..a8e29b3b42 100644 --- a/hw/net/smc91c111.c +++ b/hw/net/smc91c111.c @@ -185,6 +185,7 @@ static void smc91c111_release_packet(smc91c111_state *s, int packet) s->allocated &= ~(1 << packet); if (s->tx_alloc == 0x80) smc91c111_tx_alloc(s); + qemu_flush_queued_packets(qemu_get_queue(s->nic)); } /* Flush the TX FIFO. */ |