zephyr/drivers/ethernet
Aurelien Jarno 33dae59a57 drivers: eth: gmac: fix race condition in packet reference counting
The SAM E70 GMAC ethernet driver reference a packet with net_pkt_ref()
when queueing a packet, and unreference it with net_pkt_unref() in the
ISR when it has been fully sent.

The call to net_pkt_ref() is done just after re-enabling the
interruptions, so there is however a small race condition that might
cause the packet to be unreference before being referenced. This is
only theoretical and has not been seen in practice.

Fix that by moving the call to net_pkt_ref() just before re-enabling
the interruptions.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2019-01-29 09:23:52 +02:00
..
CMakeLists.txt drivers: eth_smsc911x: Add driver for SMSC9118 aka LAN9118 chip 2019-01-19 11:59:29 -05:00
eth_dw_priv.h
eth_dw.c
eth_e1000_priv.h
eth_e1000.c
eth_enc28j60_priv.h
eth_enc28j60.c drivers: eth_enc28j60: Fix CS GPIO support 2019-01-24 08:38:27 -05:00
eth_mcux.c net: pkt: convert remaining users of ref to atomic_ref 2019-01-29 09:22:14 +02:00
eth_native_posix_adapt.c
eth_native_posix_priv.h
eth_native_posix.c
eth_sam_gmac_priv.h drivers: eth: gmac: conservatively compute the number of descriptors 2019-01-22 15:40:05 +02:00
eth_sam_gmac.c drivers: eth: gmac: fix race condition in packet reference counting 2019-01-29 09:23:52 +02:00
eth_smsc911x_priv.h drivers: eth_smsc911x: Add driver for SMSC9118 aka LAN9118 chip 2019-01-19 11:59:29 -05:00
eth_smsc911x.c drivers: eth_smsc911x: Add driver for SMSC9118 aka LAN9118 chip 2019-01-19 11:59:29 -05:00
eth_stellaris_priv.h
eth_stellaris.c
eth_stm32_hal_priv.h
eth_stm32_hal.c
Kconfig drivers: eth_smsc911x: Add driver for SMSC9118 aka LAN9118 chip 2019-01-19 11:59:29 -05:00
Kconfig.dw
Kconfig.e1000
Kconfig.enc28j60
Kconfig.mcux ext: mcux: Add HAS_MCUX_ENET config 2019-01-28 21:21:01 -05:00
Kconfig.native_posix
Kconfig.sam_gmac
Kconfig.smsc911x drivers: eth_smsc911x: Add driver for SMSC9118 aka LAN9118 chip 2019-01-19 11:59:29 -05:00
Kconfig.stellaris
Kconfig.stm32_hal
phy_sam_gmac.c
phy_sam_gmac.h