On 10 January 2018 at 20:38, Jean-Christophe Dubois <j...@tribudubois.net> wrote: > The actual imx_eth_enable_rx() function is buggy. > > It updates s->regs[ENET_RDAR] after calling qemu_flush_queued_packets(). > > qemu_flush_queued_packets() is going to call imx_XXX_receive() which itself > is going to call imx_eth_enable_rx(). > > By updating s->regs[ENET_RDAR] after calling qemu_flush_queued_packets() > we end up updating the register with an outdated value which might > lead to disabling the receive function in the i.MX FEC/ENET device. > > This patch change the place where the register update is done so that the > register value stays up to date and the receive function can keep > running. > > Reported-by: Fyleo <fyle...@gmail.com> > Tested-by: Fyleo <fyle...@gmail.com> > Signed-off-by: Jean-Christophe Dubois <j...@tribudubois.net>
Could you have a look at current QEMU master, please? I think that commit b2b012afdd9c has probably fixed this bug. (At any rate it has changed that code so that your patch won't apply.) thanks -- PMM