Hello Everyone, 
I am working for Hexagon Mining in Baar (some of our people were on the last 
nuttx summit). Our project involves nuttx and runs on a stm32h743zi. Our nuttx 
version was recently (mid January) updated. 

We recently recognised that the ethernet of our platform dies after some time. 
After some investigation it looks like that the DMA of the ethernet ends up in 
a deadlock since no further descriptors are available and also not freed. It 
all starts with a packet which is not processed right away but in the next 
interrupt handling cycle after the next ETH_DMACSR_RI appeared. It then either 
collapses or will have a massive slow down. In case of a collapse everything 
will stop (incl. ping) since the chain is stopped around the DMA. 

So far it only happened during a longer data transfer. The device works fine 
over days just sitting there and responding to the broadcasts on the network. 
To verify the problems we also used the TCPblaster example with a minimum code 
base from our side. There, it only happens if multiple threads are used. One 
thread alone is handled well as it seems. The TCPblaster worked fine on the 
stm32f7. 

I am wondering if anyone had this or a similar problem before. If you need more 
information please let me know. 

Thanks in advance for your thoughts and helps. Best Regards, 
Reto Gähwiler

Reply via email to