summary refs log tree commit diff stats
path: root/hw/net/mcf_fec.c
diff options
context:
space:
mode:
authorJean-Christophe Dubois <jcd@tribudubois.net>2018-01-25 11:45:28 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-01-25 11:45:28 +0000
commit1b58d58f76289212f40d71282ae3a85d6cd65fef (patch)
treeae15446d077b63e623429ebd484edbda527badf7 /hw/net/mcf_fec.c
parent9aea1ea31af25fe344a88da086ff913cca09c667 (diff)
downloadfocaccia-qemu-1b58d58f76289212f40d71282ae3a85d6cd65fef.tar.gz
focaccia-qemu-1b58d58f76289212f40d71282ae3a85d6cd65fef.zip
i.MX: Fix FEC/ENET receive funtions
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 <fyleo45@gmail.com>
Tested-by: Fyleo  <fyleo45@gmail.com>
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Message-id: 20180113113445.2705-1-jcd@tribudubois.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Tested-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/net/mcf_fec.c')
0 files changed, 0 insertions, 0 deletions