mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-17 18:43:50 +01:00
If any incoming frame is bigger than a single DMA buffer, the Ethernet DMA will split the content and use multiple DMA buffers instead. But only the DMA descriptor of the last Ethernet frame segment will contain the frame length. Previously, the frame length calculation, reassembly of the frame, and the freeing of DMA descriptors was completely broken and only worked in case the received frame was small enough to fit into one DMA buffer. This is now fixed, so that smaller DMA buffers can safely be used now. Additionally the interface was simplified: Previously two receive flavors were implemented, with only one ever being used. None of those function was public due to missing declarations in headers. The unused interface was dropped and the remaining was streamlined to better fit the use case.