mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
b8e940d645
Fix spi_flash_write regression and nvs error recovery In the previous set of changes related to spi_flash, new alignment checks were added. One of these checks, word alignment of `src` buffer in `nvs_flas_write`, was unnecessary. ROM `SPIWrite` function can handle unaligned source buffers. This change caused an error to be returned to nvs for some legitimate write operations. Due to a bug in nvs, further write operations were possible, while the internal state of `Page` instance was broken. In WiFi functional tests, this inflicted havoc on the nvs partition, creating multiple duplicate items in the affected page. Because multiple duplicate items per page were never supposed to be handled during page load, duplicates were not removed. Thankfully this caused an assert at a later point in the loading process, otherwise this bug would be very difficult to detect. This change set fixes the original spi_flash regression, handling of `INVALID` state of `nvs::Page`, and handling of duplicate items. See merge request !161 |
||
---|---|---|
.. | ||
bootloader | ||
bt | ||
driver | ||
esp32 | ||
esptool_py | ||
expat | ||
freertos | ||
idf_test | ||
json | ||
log | ||
lwip | ||
mbedtls | ||
newlib | ||
nghttp | ||
nvs_flash | ||
partition_table | ||
spi_flash | ||
tcpip_adapter | ||
vfs | ||
xtensa-debug-module |