This sounds a lot like the problem I'm having with the SAMA5D36 Gigabit
ethernet... I'm running into some kind of deadlock on long transfers that
send packets very quickly. NuttX seems to run out of IOBs and then can't
send or respond to network packets.

I tried increasing the low priority worker threads to 2 (and also 3) but
neither of them solved the problem.

I'll look at the net_lock() to see if there's a way to release it.

If you find a solution, I would love to know it! If I find one, I'll post
it here.

The first step in debugging a deadlock is to find what is stuck waiting for what resource.

Then find the logic that provides the resource that is being waited on.

Then figure out why that logic is not running.  Most likely, it would be waiting the low priority work queue.

I have had to solve lots of problems like this.  It is not really so difficult once you unstand the above things.



Reply via email to