diff --git a/src/target/stm32f4.c b/src/target/stm32f4.c index b73c3ee91f6..e28aa96b957 100644 --- a/src/target/stm32f4.c +++ b/src/target/stm32f4.c @@ -56,7 +56,7 @@ static int stm32f4_flash_erase(struct target_flash *f, target_addr addr, static int stm32f4_flash_write(struct target_flash *f, target_addr dest, const void *src, size_t len); -/* Flash Program ad Erase Controller Register Map */ +/* Flash Program and Erase Controller Register Map */ #define FPEC_BASE 0x40023C00 #define FLASH_ACR (FPEC_BASE+0x00) #define FLASH_KEYR (FPEC_BASE+0x04) @@ -503,11 +503,8 @@ static bool stm32f4_cmd_erase_mass(target *t, int argc, const char **argv) tc_printf(t, "\n"); /* Check for error */ - uint32_t sr = target_mem_read32(t, FLASH_SR); - if ((sr & SR_ERROR_MASK) || !(sr & SR_EOP)) - return false; - - return true; + const uint32_t result = target_mem_read32(t, FLASH_SR); + return !(result & SR_ERROR_MASK); } /* Dev | DOC |Rev|ID |OPTCR |OPTCR |OPTCR1 |OPTCR1 | OPTCR2