606190d9b3
Whenever we enter/leave a critical section, the interrupt status is saved and, then, restored. However, for the ESP32's BLE adapter, entering/leaving a critical section is done on separate functions that need to be registered as a callback. The status flag was being saved as a global variable. However, calling nested enter_critical_section would overwrite this global variable that was storing the previous flag and, when leaving the last critical section, the restored status would be different from the one expected. The proposed solution for this issue is to create a global array to store the interrupt status flags for nested calls. |
||
---|---|---|
.. | ||
include | ||
src | ||
Kconfig |