yamt opened a new issue, #15314:
URL: https://github.com/apache/nuttx/issues/15314

   ### Description / Steps to reproduce the issue
   
   net_lock() and esp_wifi_lock() are taken in an inconsistent order.
   thus it can cause a deadlock.
   
   ```
   wlan_ifdown net_lock();
     |
     v
   esp_wifi_sta_stop esp_wifi_lock(true);
   ```
   
   ```
   esp_evt_work_cb esp_wifi_lock(true);
     |
     v
   esp32s3_wlan_sta_set_linkstatus(false)
     |
     v
   netdev_carrier_off
     |
     v
   devif_dev_event net_lock();
   ```
   
   the most straightforward fix: make esp_evt_work_cb (and other functions 
taking esp_wifi_lock first if any) acquire net_lock() before esp_wifi_lock(). 
(note that net_lock() is a recursive lock.)
   
   
   ### On which OS does this issue occur?
   
   [OS: Mac]
   
   ### What is the version of your OS?
   
   macOS 15.2
   
   ### NuttX Version
   
   master
   
   ### Issue Architecture
   
   [Arch: xtensa]
   
   ### Issue Area
   
   [Area: Drivers]
   
   ### Verification
   
   - [X] I have verified before submitting the report.


-- 
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: commits-unsubscr...@nuttx.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to