提交 8b7acc79 编写于 作者: S Sebastian Huber 提交者: Stefan Hajnoczi

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: NSebastian Huber <sebastian.huber@embedded-brains.de>
Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
上级 5c5432e7
...@@ -185,6 +185,7 @@ static void smc91c111_release_packet(smc91c111_state *s, int packet) ...@@ -185,6 +185,7 @@ static void smc91c111_release_packet(smc91c111_state *s, int packet)
s->allocated &= ~(1 << packet); s->allocated &= ~(1 << packet);
if (s->tx_alloc == 0x80) if (s->tx_alloc == 0x80)
smc91c111_tx_alloc(s); smc91c111_tx_alloc(s);
qemu_flush_queued_packets(qemu_get_queue(s->nic));
} }
/* Flush the TX FIFO. */ /* Flush the TX FIFO. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册