From 10832ad60a974de9343ac18ca460d0a8d350bf7d Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 3 Aug 2015 22:33:28 +0200 Subject: [PATCH] #2619 - Valgrind complains on EEPROM block erase Should not change anything though. --- radio/src/eeprom_raw.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/radio/src/eeprom_raw.cpp b/radio/src/eeprom_raw.cpp index e58532a0f..ca8bdfec8 100644 --- a/radio/src/eeprom_raw.cpp +++ b/radio/src/eeprom_raw.cpp @@ -99,7 +99,8 @@ void eepromEraseBlock(uint32_t address, bool blocking=true) // TRACE("eepromEraseBlock(%d)", address); #if defined(SIMU) - static uint8_t erasedBlock[EEPROM_BLOCK_SIZE] = { 0xff }; + static uint8_t erasedBlock[EEPROM_BLOCK_SIZE]; // can't be on the stack! + memset(erasedBlock, 0xff, sizeof(erasedBlock)); eeprom_pointer = address; eeprom_buffer_data = erasedBlock; eeprom_buffer_size = EEPROM_BLOCK_SIZE; @@ -442,6 +443,8 @@ void eeCheck(bool immediately) eepromWriteWait(); } + assert(eepromWriteState == EEPROM_IDLE); + if (s_eeDirtyMsk & EE_GENERAL) { TRACE("eeprom write general"); s_eeDirtyMsk -= EE_GENERAL;