This is an automated email from the ASF dual-hosted git repository. simbit18 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 8f42a6f6d70ccda9c81b6fcaaf5669794165cce6 Author: Filipe Cavalcanti <[email protected]> AuthorDate: Mon Oct 20 15:21:15 2025 -0300 arch/xtensa: add critical section on e-fuse bringup The efuse initialization requires critical section to avoid a very hidden corner case when flash encryption is enabled. Signed-off-by: Filipe Cavalcanti <[email protected]> --- arch/xtensa/src/common/espressif/esp_efuse.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/xtensa/src/common/espressif/esp_efuse.c b/arch/xtensa/src/common/espressif/esp_efuse.c index da6a14f465c..813a7a29106 100644 --- a/arch/xtensa/src/common/espressif/esp_efuse.c +++ b/arch/xtensa/src/common/espressif/esp_efuse.c @@ -286,6 +286,7 @@ int esp_efuse_initialize(const char *devpath) { struct esp_efuse_lowerhalf_s *lower = NULL; int ret = OK; + irqstate_t flags; DEBUGASSERT(devpath != NULL); @@ -293,6 +294,7 @@ int esp_efuse_initialize(const char *devpath) /* Register the efuse upper driver */ + flags = enter_critical_section(); lower->upper = efuse_register(devpath, (struct efuse_lowerhalf_s *)lower); @@ -312,6 +314,7 @@ int esp_efuse_initialize(const char *devpath) esp_efuse_utility_update_virt_blocks(); #endif + leave_critical_section(flags); return ret; } #endif
