esp-idf/components/mbedtls/port/aes
Mahavir Jain aba35cd526
fix(aes): correct the linking of the DMA descriptors
For certain data lengths, the last input descriptor was not getting appended
correctly and hence the EOF flag in the DMA descriptor link list was
set at incorrect location. This was resulting in the peripheral being
stalled expecting more data and eventually the code used to timeout
waiting for the AES completion interrupt.

Required configs for this issue:

CONFIG_MBEDTLS_HARDWARE_AES
CONFIG_SOC_AES_SUPPORT_DMA

This observation is similar to the issue reported in:
https://github.com/espressif/esp-idf/issues/10647

To recreate this issue, start the AES-GCM DMA operation with data length
12280 bytes and this should stall the operation forever.

In this fix, we are tracing the entire descriptor list and then appending the
extra bytes descriptor at correct position (as the last node).
2023-09-06 08:30:00 +05:30
..
block refactor(mbedtls): refactored the return values check in some esp-aes APIs 2023-07-14 21:00:16 +05:30
dma fix(aes): correct the linking of the DMA descriptors 2023-09-06 08:30:00 +05:30
esp_aes_common.c mbedtls: Update licenses of files updated in mbedtls-3.1 update 2022-03-04 05:18:58 +00:00
esp_aes_gcm.c fix(mbedtls): Fixed the transmission of return values of the esp-aes APIs 2023-07-14 13:41:13 +05:30
esp_aes_xts.c AES: refactor and add HAL layer 2020-12-10 09:04:47 +00:00