diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c b/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c index 45c082ab886c7b824b9f42abf0aab3bdefc74dd0..01f706cd8fcc60600cac20163895fd2c37859a78 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c @@ -219,6 +219,7 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size) if(size_bank1 != stm32_flash_erase_bank(FLASH_BANK_1, addr_bank1, size_bank1)) { result = -RT_ERROR; + goto __exit; } } @@ -228,10 +229,12 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size) if(size_bank2 != stm32_flash_erase_bank(FLASH_BANK_2, addr_bank2, size_bank2)) { result = -RT_ERROR; + goto __exit; } } - - if (result != RT_EOK) + +__exit: + if(result != RT_EOK) { return result; }