PetteriAimonen opened a new pull request, #10815:
URL: https://github.com/apache/nuttx/pull/10815

   ## Summary
   
   stm32_ifdown() holds critical section when calling stm32_ethreset().
   That function used to call up_mdelay(10) while waiting for the ethernet 
peripheral reset to complete.
   This resulted in excessively long critical section time with interrupts 
disabled.
   
   The actual expected delay is a few clock ticks of the 50 MHz clock domain.
   This commit changes polling interval to 1us and maximum to 10us.
   
   ## Impact
   
   Reduces critical section time. Shouldn't cause functional changes.
   
   If for some reason (stopped clock?) the ethernet peripheral reset doesn't 
complete, log message `ERROR: stm32_ethreset failed (timeout), still assuming 
it's going down.` will be printed after 10 us, instead of the previous 100 ms 
wait.
   
   ## Testing
   
   Tested on custom STM32F417 board with KSZ8081RNA PHY.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to