Hello,
First of all, thank you for the great work on the OS, and the entire network stack, and for the great work made to make it work with a lot of platform.
After a long session of debugging weird issues that I had in the network interface, i encountered a weird assert. I am using bufferallocation_1.c with latest freertos+TCP on a STM32H745, and ipconfigUSE_LINKED_RX_MESSAGES set to 1
Inside the networkInterface, I have my debugger hit an assert randomly in HAL_ETH_RxLinkCallback, specifically configASSERT( *ppxStartDescriptor == *ppxEndDescriptor );.
I am asking for clarification as to what is the use of this assert.
I feel like it is not needed with LINKED_RX enabled. Since Rx_allocate_callback is called in a loop, the linked list will be formed and the assert will just break it if it needs to allocate more than one networkbuffer to handle it.
Also, shouldn’t this line else if( ppxEndDescriptor != NULL ) be else if( *ppxEndDescriptor != NULL ) , otherwise I don’t quite get the check here, it feels like this will never be NULL.
Thank you for your time, and the work done. I just want to make sure and have the opinion of the maintainers and the community that uses this driver.