mirror of https://gitee.com/openkylin/qemu.git
net: xilinx_ethlite: Fix Rx-pong interrupt
There is no CTRL_I bit in the pong buffer control register. The CTRL_I bit from the ping buffer masks both ping and pong buffers. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
959e41473f
commit
40e76f736d
|
@ -196,8 +196,9 @@ static ssize_t eth_rx(NetClientState *nc, const uint8_t *buf, size_t size)
|
|||
memcpy(&s->regs[rxbase + R_RX_BUF0], buf, size);
|
||||
|
||||
s->regs[rxbase + R_RX_CTRL0] |= CTRL_S;
|
||||
if (s->regs[rxbase + R_RX_CTRL0] & CTRL_I)
|
||||
if (s->regs[R_RX_CTRL0] & CTRL_I) {
|
||||
eth_pulse_irq(s);
|
||||
}
|
||||
|
||||
/* If c_rx_pingpong was set flip buffers. */
|
||||
s->rxbuf ^= s->c_rx_pingpong;
|
||||
|
|
Loading…
Reference in New Issue