AnsweredAssumed Answered

(to ST) Ethernet: LwIP(with RTOS) examples have bug in ethernetif.c

Question asked by viktor.pestov on May 5, 2017

In ethernetif driver ethernetif.c in func low_level_input: HAL_ETH_GetReceivedFrame_IT(&EthHandle) can return HAL_BUSY, if ETH_HandleTypeDef state HAL_ETH_STATE_BUSY, if lwIP task is sending data to ethrnet by func low_level_output in this moment. Then func low_level_input willn't run and ethrnet interface will stuck.

 

Ethernet interface and ETH_HandleTypeDef struct must be guarded by Mutex.

 

Can you include this fix to Cube example update?

Outcomes