mirror of https://github.com/ARMmbed/mbed-os.git
The K64F Ethernet driver installs an interrupt handler that sets thread flags, and this could be called before the thread was initialised, so it would use a NULL thread ID. This triggers an RTX error-checking trap in debug builds, and could also lead to other problems with received packets not being processed. Adjusted so the RX interrupt handler does nothing if the thread isn't initialised yet, and manually trigger a RX event flag after initialising the thread in case any interrupts were ignored. An alternative would have been to implement eth_arch_enable_interrupts, but this mechanism is not present in the EMAC world - drivers will have to start returning interrupts in their power up. Fixes #5680 |
||
---|---|---|
.. | ||
lwip | ||
lwip-eth/arch | ||
lwip-sys | ||
.mbedignore | ||
CONTRIBUTING.md | ||
EthernetInterface.cpp | ||
EthernetInterface.h | ||
emac_lwip.c | ||
emac_stack_lwip.cpp | ||
eth_arch.h | ||
lwip_stack.c | ||
lwip_stack.h | ||
lwipopts.h | ||
mbed_lib.json | ||
ppp_lwip.cpp | ||
ppp_lwip.h |