Additionally, the receive marks the buffer ownership to the DMA in a for loop. This also creates a timing problem between the hardware DMA and the receiving task freeing buffers.is there a better code for ethernetif.c?if ((heth.Instance->DMASR & ETH_...