qemu-e2k/hw/net
Jean-Christophe Dubois 1b58d58f76 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>
2018-01-25 11:45:28 +00:00
..
fsl_etsec
rocker pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
allwinner_emac.c
cadence_gem.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
dp8393x.c
e1000_regs.h e1000: Rename the SEC symbol to SEQEC 2017-09-08 08:17:37 +08:00
e1000.c e1000: Separate TSO and non-TSO contexts, fixing UDP TX corruption 2017-12-22 09:53:50 +08:00
e1000e_core.c e1000, e1000e: Move per-packet TX offload flags out of context state 2017-12-22 09:53:23 +08:00
e1000e_core.h e1000, e1000e: Move per-packet TX offload flags out of context state 2017-12-22 09:53:23 +08:00
e1000e.c e1000, e1000e: Move per-packet TX offload flags out of context state 2017-12-22 09:53:23 +08:00
e1000x_common.c
e1000x_common.h e1000, e1000e: Move per-packet TX offload flags out of context state 2017-12-22 09:53:23 +08:00
eepro100.c eepro100: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
etraxfs_eth.c
ftgmac100.c ftgmac100: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
imx_fec.c i.MX: Fix FEC/ENET receive funtions 2018-01-25 11:45:28 +00:00
lan9118.c lan9118: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
lance.c sun4m: remove include/hw/sparc/sun4m.h and all references to it 2018-01-09 21:48:20 +00:00
Makefile.objs net: add Sun HME (Happy Meal Ethernet) on-board NIC 2017-09-21 08:38:42 +01:00
mcf_fec.c
milkymist-minimac2.c
mipsnet.c
ne2000-isa.c hw/net/ne2000: extract ne2k-isa code from i386/pc to ne2000-isa.c 2017-12-18 17:07:02 +03:00
ne2000.c ne2000: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
ne2000.h hw/net/ne2000: extract ne2k-isa code from i386/pc to ne2000-isa.c 2017-12-18 17:07:02 +03:00
net_rx_pkt.c net: Transmit zero UDP checksum as 0xFFFF 2017-11-20 11:08:00 +08:00
net_rx_pkt.h
net_tx_pkt.c net: Transmit zero UDP checksum as 0xFFFF 2017-11-20 11:08:00 +08:00
net_tx_pkt.h
opencores_eth.c opencores_eth: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
pcnet-pci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
pcnet.c net: Drop unusual use of do { } while (0); 2018-01-16 14:54:51 +01:00
pcnet.h
rtl8139.c rtl8139: use inline net_crc32() and bitshift instead of compute_mcast_idx() 2017-12-22 10:01:27 +08:00
smc91c111.c
spapr_llan.c
stellaris_enet.c
sungem.c sungem: fix multicast filter CRC calculation 2017-12-22 10:00:47 +08:00
sunhme.c sunhme: switch sunhme over to use net_crc32_le() 2017-12-22 10:00:47 +08:00
trace-events net: add Sun HME (Happy Meal Ethernet) on-board NIC 2017-09-21 08:38:42 +01:00
vhost_net.c
virtio-net.c virtio-net: don't touch virtqueue if vm is stopped 2017-11-28 11:54:50 +08:00
vmware_utils.h hw/net/vmxnet3: Fix code to work on big endian hosts, too 2017-11-20 11:08:00 +08:00
vmxnet3.c pci: Eliminate redundant PCIDevice::bus pointer 2017-12-05 19:13:45 +02:00
vmxnet3.h hw/net/vmxnet3: Fix code to work on big endian hosts, too 2017-11-20 11:08:00 +08:00
vmxnet_debug.h
xen_nic.c
xgmac.c
xilinx_axienet.c xilinx_axienet: Convert to DEFINE_PROP_LINK 2017-09-07 13:54:51 +01:00
xilinx_ethlite.c