32F417 - how to prevent low_level_output() (in ethernetif.c) overwriting the last DMA buffer?
It seems that one has to wait on the three TPS bits = 000 in DMASR.I fixed the problem by putting if ( (((heth->Instance)->DMASR) & (0x7 << 20)) != 0 ) {}at the end of HAL_ETH_TransmitFrame().That loop should not hang unless the silicon is defective ...