we found bug In C:\Program Files\Analog Devices\VisualDSP 5.0\Blackfin\lib\src\drivers\ethernet\lan9218\lan9218.c
When the driver gets some tcp packets _together_ (one after the other immediately), it handles only the first message and loses the others.
the bug is in the function LAN9218_InterruptHandler:
the old code
new code: use if instead of while
now all the packets are handled correctly and received by the application.
LAN9218 driver conforms to the SMSC LAN9218 programming model described in the datasheet. The model indicates to read all pending received packets once receive interrupt occurs. Are you seeing any particular length of packets being dropped?
You can send your test program to email@example.com for further investigation.