diff --git a/drivers/flash/soc_flash_mcux.c b/drivers/flash/soc_flash_mcux.c index 16e75698d5d1eb..aebdacf0ef638f 100644 --- a/drivers/flash/soc_flash_mcux.c +++ b/drivers/flash/soc_flash_mcux.c @@ -88,7 +88,7 @@ static uint32_t get_cmd_status(uint32_t cmd, uint32_t addr, size_t len) } /* This function prevents erroneous reading. Some ECC enabled devices will - * crash when reading an erased or wrongly programmed area. + * crash when reading an erased area. */ static status_t is_area_readable(uint32_t addr, size_t len) { @@ -97,21 +97,13 @@ static status_t is_area_readable(uint32_t addr, size_t len) key = irq_lock(); - /* Check if the are is correctly programmed and can be read. */ - status = get_cmd_status(FMC_CMD_MARGIN_CHECK, addr, len); - if (status & FMC_STATUS_FAILURES) { - /* If the area was erased, ECC errors are triggered on read. */ - status = get_cmd_status(FMC_CMD_BLANK_CHECK, addr, len); - if (!(status & FMC_STATUS_FAIL)) { - LOG_DBG("read request on erased addr:0x%08x size:%d", - addr, len); - irq_unlock(key); - return -ENODATA; - } - LOG_DBG("read request error for addr:0x%08x size:%d", + /* If the area was erased, ECC errors are triggered on read. */ + status = get_cmd_status(FMC_CMD_BLANK_CHECK, addr, len); + if (!(status & FMC_STATUS_FAIL)) { + LOG_DBG("read request on erased addr:0x%08x size:%d", addr, len); irq_unlock(key); - return -EIO; + return -ENODATA; } irq_unlock(key);