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)
|
if (status & FLASH_WRPRTERR)
|
||||||
{
|
{
|
||||||
LOG_ERROR("stm32x device protected");
|
LOG_ERROR("stm32x device protected");
|
||||||
return ERROR_OK;
|
return ERROR_FLASH_OPERATION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status & FLASH_PGERR)
|
if (status & FLASH_PGERR)
|
||||||
{
|
{
|
||||||
LOG_ERROR("stm32x device programming failed");
|
LOG_ERROR("stm32x device programming failed");
|
||||||
return ERROR_OK;
|
return ERROR_FLASH_OPERATION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
@ -1223,7 +1223,8 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
|
||||||
if (ERROR_OK != retval)
|
if (ERROR_OK != retval)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
if (stm32x_mass_erase(bank) == ERROR_OK)
|
retval = stm32x_mass_erase(bank);
|
||||||
|
if (retval == ERROR_OK)
|
||||||
{
|
{
|
||||||
/* set all sectors as erased */
|
/* set all sectors as erased */
|
||||||
for (i = 0; i < bank->num_sectors; i++)
|
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");
|
command_print(CMD_CTX, "stm32x mass erase failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
return ERROR_OK;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct command_registration stm32x_exec_command_handlers[] = {
|
static const struct command_registration stm32x_exec_command_handlers[] = {
|
||||||
|
|
Loading…
Reference in New Issue