diff --git a/components/esp_tee/subproject/main/soc/common/esp_tee_crypto_reset.c b/components/esp_tee/subproject/main/soc/common/esp_tee_crypto_reset.c index a80429d6ecf..6ade697f6b1 100644 --- a/components/esp_tee/subproject/main/soc/common/esp_tee_crypto_reset.c +++ b/components/esp_tee/subproject/main/soc/common/esp_tee_crypto_reset.c @@ -29,8 +29,9 @@ #endif #include "esp_tee.h" +#include "esp_attr.h" -void esp_tee_soc_reset_crypto_peripherals(void) +void IRAM_ATTR esp_tee_soc_reset_crypto_peripherals(void) { /* Reset the crypto peripherals to a clean state and leave their clocks disabled; drivers re-enable on demand */ #if SOC_AES_SUPPORTED @@ -61,6 +62,7 @@ void esp_tee_soc_reset_crypto_peripherals(void) #if SOC_HMAC_SUPPORTED hmac_ll_enable_bus_clock(true); hmac_ll_reset_register(); + hmac_ll_clean(); hmac_ll_enable_bus_clock(false); #endif