zephyr/drivers/ethernet
Bilal Wasim 10a05017bc drivers: eth: stm32: Fix driver crash caused by RX IRQ trigger
All initialization of the Ethernet interface is done in the
eth_initialize function which is invoked by the boot code.
This function sets up DMA, programs the Ethernet module and
enables IRQs. However, this function does not setup "netif"
interface info which is done when the ethernet device is
enumerated by the NET stack via the "iface_api.init" func.
However, after the eth_initialize func is called, it is
possible that the system receives RX interrupts, and the
"rx_thread" accesses the "netif" pointer to get iface info.
However, because the "netif" info is not necessarily
populated at this time, we get a crash (as OS does NULL
access).

Fixed by enabling Ethernet IRQ after the interface is
properly setup.

Tested on Nucleo F767Zi board.

Fixes #25408

Signed-off-by: Bilal Wasim <bilalwasim676@gmail.com>
2020-05-18 19:11:40 +02:00
..
CMakeLists.txt
Kconfig
Kconfig.e1000
Kconfig.enc28j60 drivers: Replace GPIO_CS Kconfig with devicetree detection 2020-05-09 13:07:05 +02:00
Kconfig.enc424j600 drivers: Replace GPIO_CS Kconfig with devicetree detection 2020-05-09 13:07:05 +02:00
Kconfig.gecko drivers: eth: Get Manual MAC address from devicetree 2020-05-09 16:29:57 +02:00
Kconfig.liteeth drivers: eth: Replace driver specific RANDOM_MAC Kconfig with devicetree 2020-05-09 16:29:57 +02:00
Kconfig.mcux drivers: ethernet: mcux: rework how unique mac is determined 2020-05-09 16:29:57 +02:00
Kconfig.native_posix
Kconfig.sam_gmac drivers: eth: Get Manual MAC address from devicetree 2020-05-09 16:29:57 +02:00
Kconfig.smsc911x
Kconfig.stellaris
Kconfig.stm32_hal
eth.h drivers: eth: Get Manual MAC address from devicetree 2020-05-09 16:29:57 +02:00
eth_e1000.c
eth_e1000_priv.h
eth_enc28j60.c drivers: Replace GPIO_CS Kconfig with devicetree detection 2020-05-09 13:07:05 +02:00
eth_enc28j60_priv.h
eth_enc424j600.c drivers: Replace GPIO_CS Kconfig with devicetree detection 2020-05-09 13:07:05 +02:00
eth_enc424j600_priv.h
eth_gecko.c drivers: eth: Get Manual MAC address from devicetree 2020-05-09 16:29:57 +02:00
eth_gecko_priv.h device: avoid casting away const from config_info pointer 2020-05-13 18:21:52 +02:00
eth_liteeth.c drivers: eth: Replace driver specific RANDOM_MAC Kconfig with devicetree 2020-05-09 16:29:57 +02:00
eth_mcux.c devicetree: remove DT_HAS_NODE_STATUS_OKAY 2020-05-13 18:24:42 +02:00
eth_native_posix.c drivers: eth: Refactor generation of random mac into help function 2020-05-09 16:29:57 +02:00
eth_native_posix_adapt.c
eth_native_posix_priv.h
eth_sam0_gmac.h
eth_sam_gmac.c drivers: eth: Get Manual MAC address from devicetree 2020-05-09 16:29:57 +02:00
eth_sam_gmac_priv.h device: Fix structure attributes access 2020-05-08 23:07:44 +02:00
eth_smsc911x.c driver: eth: smsc911x: Convert to use k_timeout_t 2020-05-01 10:50:03 +03:00
eth_smsc911x_priv.h
eth_stellaris.c device: avoid casting away const from config_info pointer 2020-05-13 18:21:52 +02:00
eth_stellaris_priv.h device: avoid casting away const from config_info pointer 2020-05-13 18:21:52 +02:00
eth_stm32_hal.c drivers: eth: stm32: Fix driver crash caused by RX IRQ trigger 2020-05-18 19:11:40 +02:00
eth_stm32_hal_priv.h device: avoid casting away const from config_info pointer 2020-05-13 18:21:52 +02:00
phy_gecko.c
phy_gecko.h
phy_sam_gmac.c
phy_sam_gmac.h