When nvs_write is called, the nvs_flash_block_cmp is used to check if the new data to be written matches the data already on flash. This check always fail when CONFIG_NVS_DATA_CRC is enabled, caused by the NVS_DATA_CRC_SIZE being added to the len parameter. The pointer to the new data does not already have the CRC part added, while the data on flash does, and the size to be compared includes CRC section. By removing the addition of NVS_DATA_CRC_SIZE to the compare size, only the data without CRC is compared, which will make the compare work in both cases. Signed-off-by: Yonas Alizadeh <yonas.alizadeh@alfalaval.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| Kconfig | ||
| nvs_priv.h | ||
| nvs.c | ||