aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2020-09-01 14:21:50 +0200
committerCédric Le Goater <clg@kaod.org>2020-09-01 14:21:50 +0200
commitcf9f48d323cee4f3fc93ea8c292ecea8115b0eef (patch)
treef47a862913b3743af2d654e952560575989ab906 /hw
parentdcf5137696b25fd71a9377a66a7bee0fe338a42d (diff)
downloadqemu-cf9f48d323cee4f3fc93ea8c292ecea8115b0eef.zip
qemu-cf9f48d323cee4f3fc93ea8c292ecea8115b0eef.tar.gz
qemu-cf9f48d323cee4f3fc93ea8c292ecea8115b0eef.tar.bz2
ftgmac100: Fix interrupt status "Packet moved to RX FIFO"
As we don't model the RX or TX FIFO, raise the "Packet moved to RX FIFO" interrupt status bit as soon as we are handling a RX packet. Cc: Frederic Konrad <konrad.frederic@yahoo.fr> Reviewed-by: Joel Stanley <joel@jms.id.au> Message-Id: <20200819100956.2216690-12-clg@kaod.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/net/ftgmac100.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c
index aa3c05e..5c0fe2d 100644
--- a/hw/net/ftgmac100.c
+++ b/hw/net/ftgmac100.c
@@ -950,6 +950,7 @@ static ssize_t ftgmac100_receive(NetClientState *nc, const uint8_t *buf,
break;
}
+ s->isr |= FTGMAC100_INT_RPKT_FIFO;
addr = s->rx_descriptor;
while (size > 0) {
if (!ftgmac100_can_receive(nc)) {
@@ -1001,8 +1002,6 @@ static ssize_t ftgmac100_receive(NetClientState *nc, const uint8_t *buf,
/* Last buffer in frame. */
bd.des0 |= flags | FTGMAC100_RXDES0_LRS;
s->isr |= FTGMAC100_INT_RPKT_BUF;
- } else {
- s->isr |= FTGMAC100_INT_RPKT_FIFO;
}
ftgmac100_write_bd(&bd, addr);
if (bd.des0 & s->rxdes0_edorr) {