stm32 : change returned value of mass_erase function
Hello, "stm32x mass_erase" return ERROR_OK even if something goes wrong. Here is a summary of changes : * in stm32x_mass_erase : return ERROR_FLASH_OPERATION_FAILED when error detected in FLASH_SR register; * in COMMAND_HANDLER(stm32x_handle_mass_erase_command) : return the returned value of stm32x_mass_erase(). I don't know if there is reason to always return ERROR_OK ? Gaëtan__archive__
parent
631514724d
commit
a1cf1b5244
|
@ -1196,13 +1196,13 @@ static int stm32x_mass_erase(struct flash_bank *bank)
|
|||
if (status & FLASH_WRPRTERR)
|
||||
{
|
||||
LOG_ERROR("stm32x device protected");
|
||||
return ERROR_OK;
|
||||
return ERROR_FLASH_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
if (status & FLASH_PGERR)
|
||||
{
|
||||
LOG_ERROR("stm32x device programming failed");
|
||||
return ERROR_OK;
|
||||
return ERROR_FLASH_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
return ERROR_OK;
|
||||
|
@ -1223,7 +1223,8 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
|
|||
if (ERROR_OK != retval)
|
||||
return retval;
|
||||
|
||||
if (stm32x_mass_erase(bank) == ERROR_OK)
|
||||
retval = stm32x_mass_erase(bank);
|
||||
if (retval == ERROR_OK)
|
||||
{
|
||||
/* set all sectors as erased */
|
||||
for (i = 0; i < bank->num_sectors; i++)
|
||||
|
@ -1238,7 +1239,7 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
|
|||
command_print(CMD_CTX, "stm32x mass erase failed");
|
||||
}
|
||||
|
||||
return ERROR_OK;
|
||||
return retval;
|
||||
}
|
||||
|
||||
static const struct command_registration stm32x_exec_command_handlers[] = {
|
||||
|
|
Loading…
Reference in New Issue