+TCP STM32F7 Network buffer release

I think that I answered that question:

When a correct packet is received using zero-copy, the ownership will be transferred from DMA to the IP-task. At the same time, a new buffer is allocated and assigned to DMA.

So when you pause the application, you may see packets that were rejected, because they have a “wrong” frame-type. They are still owned by DMA.

(
In earlier versions of BufferAllocation_1.c I had registered a name to each buffer, so I could see where a problem had started,

Buffer allocation needs some discipline: we must always make sure that a buffer is owned by a single instance: NetworkInterface DMA, IP-task reception, IP-task transmission, etc. and make sure that every buffer will be released when ready.
)

Back to your question:

I’m having an issue with network buffers getting hung up

What do you mean with buffer getting hung up? Does pxGetNetworkBufferWithDescriptor() return NULL?

In that case you could add a new parameter to pxGetNetworkBufferWithDescriptor() to indicated the location where it was created, e.g. FreeRTOS_TCP_Transmission.c:683.

I work very often with STM32Fxx, and I have not seen problems with buffer allocation.

I just tested with the latest FreeRTOS+TCP (V4.2.2), but the NetworkInterface uses the Legacy, because STM32\Drivers\F7 does not compile.