flash/nor: Do not update 'is_erased' 79/6279/3
authorMarc Schink <dev@zapb.de>
Fri, 7 May 2021 10:02:23 +0000 (12:02 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 14 Aug 2021 12:32:07 +0000 (13:32 +0100)
Remove useless setting of the 'is_erased' flag after a flash
modification. Also, remove code that erroneously depends on
this flag.

Keep the flag for now since it is still used by the
erase_check() functionality.

See commit 07da3b3913dcb6b65564f4fe67c2f26032f180c0

Change-Id: Ia046905bc9e0cb2572145f19251c3e10c4e2d553
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/6279
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
27 files changed:
src/flash/nor/ambiqmicro.c
src/flash/nor/at91sam4l.c
src/flash/nor/avrf.c
src/flash/nor/cfi.c
src/flash/nor/dsp5680xx_flash.c
src/flash/nor/em357.c
src/flash/nor/fm3.c
src/flash/nor/fm4.c
src/flash/nor/kinetis_ke.c
src/flash/nor/max32xxx.c
src/flash/nor/mdr.c
src/flash/nor/niietcm4.c
src/flash/nor/numicro.c
src/flash/nor/pic32mx.c
src/flash/nor/psoc4.c
src/flash/nor/psoc6.c
src/flash/nor/stellaris.c
src/flash/nor/stm32f1x.c
src/flash/nor/stm32f2x.c
src/flash/nor/stm32h7x.c
src/flash/nor/stm32l4x.c
src/flash/nor/stm32lx.c
src/flash/nor/stmqspi.c
src/flash/nor/str7x.c
src/flash/nor/str9x.c
src/flash/nor/xmc1xxx.c
src/flash/nor/xmc4xxx.c

index 684d21de0591582c49699e1d7db62a1d18317be3..6eda9286c137c5087a14e7deba495b05f459e121 100644 (file)
@@ -777,13 +777,9 @@ COMMAND_HANDLER(ambiqmicro_handle_mass_erase_command)
        if (retval != ERROR_OK)
                return retval;
 
-       if (ambiqmicro_mass_erase(bank) == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (ambiqmicro_mass_erase(bank) == ERROR_OK)
                command_print(CMD, "ambiqmicro mass erase complete");
-       else
+       else
                command_print(CMD, "ambiqmicro mass erase failed");
 
        return ERROR_OK;
index d09414cbe771a78169f30291a97fb9ffee8a32a5..f8c6f6490644c384cc2375ff9427116a952230d3 100644 (file)
@@ -480,9 +480,6 @@ static int sam4l_erase(struct flash_bank *bank, unsigned int first,
                                        return ERROR_FAIL;
                                }
                        }
-
-                       /* This sector is definitely erased. */
-                       bank->sectors[i].is_erased = 1;
                }
        }
 
index a5a2cbd5b60131d95ae6d935d759bf15c1f746f1..634f7396a8e9e236a3221f18f60b463540ce7af5 100644 (file)
@@ -438,13 +438,9 @@ COMMAND_HANDLER(avrf_handle_mass_erase_command)
        if (retval != ERROR_OK)
                return retval;
 
-       if (avrf_mass_erase(bank) == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (avrf_mass_erase(bank) == ERROR_OK)
                command_print(CMD, "avr mass erase complete");
-       else
+       else
                command_print(CMD, "avr mass erase failed");
 
        LOG_DEBUG("%s", __func__);
index 830d3e36942b23ad2a2a5229cbee8b16b6fe6c14..e3fb6c8ff82a7f93999c9c6df6147155de68b1cb 100644 (file)
@@ -870,9 +870,7 @@ static int cfi_intel_erase(struct flash_bank *bank, unsigned int first,
                if (retval != ERROR_OK)
                        return retval;
 
-               if (status == 0x80)
-                       bank->sectors[i].is_erased = 1;
-               else {
+               if (status != 0x80) {
                        retval = cfi_send_command(bank, 0xff, cfi_flash_address(bank, 0, 0x0));
                        if (retval != ERROR_OK)
                                return retval;
@@ -927,9 +925,7 @@ static int cfi_spansion_erase(struct flash_bank *bank, unsigned int first,
                if (retval != ERROR_OK)
                        return retval;
 
-               if (cfi_spansion_wait_status_busy(bank, cfi_info->block_erase_timeout) == ERROR_OK)
-                       bank->sectors[i].is_erased = 1;
-               else {
+               if (cfi_spansion_wait_status_busy(bank, cfi_info->block_erase_timeout) != ERROR_OK) {
                        retval = cfi_send_command(bank, 0xf0, cfi_flash_address(bank, 0, 0x0));
                        if (retval != ERROR_OK)
                                return retval;
index 49022825ed1a76daa4d4bdb82336d44a87e71efc..5e8eec30fb0d313d231cfec41348a84e6d8a4b50 100644 (file)
@@ -130,15 +130,9 @@ static int dsp5680xx_flash_protect(struct flash_bank *bank, int set,
 
        if (set)
                retval = dsp5680xx_f_lock(bank->target);
-       else {
+       else
                retval = dsp5680xx_f_unlock(bank->target);
-               if (retval == ERROR_OK) {
-                       /* mark all as erased */
-                       for (int i = 0; i <= (HFM_SECTOR_COUNT - 1); i++)
-                               /* FM does not recognize it as erased if erased via JTAG. */
-                               bank->sectors[i].is_erased = 1;
-               }
-       }
+
        return retval;
 }
 
@@ -156,8 +150,6 @@ static int dsp5680xx_flash_protect(struct flash_bank *bank, int set,
 static int dsp5680xx_flash_write(struct flash_bank *bank, const uint8_t *buffer,
                                 uint32_t offset, uint32_t count)
 {
-       int retval;
-
        if ((offset + count / 2) > bank->size) {
                LOG_ERROR("%s: Flash bank cannot fit data.", __func__);
                return ERROR_FAIL;
@@ -171,17 +163,7 @@ static int dsp5680xx_flash_write(struct flash_bank *bank, const uint8_t *buffer,
                LOG_ERROR("%s: Writing to odd addresses not supported for this target", __func__);
                return ERROR_FAIL;
        }
-       retval = dsp5680xx_f_wr(bank->target, buffer, bank->base + offset / 2, count, 0);
-       uint32_t addr_word;
-
-       for (addr_word = bank->base + offset / 2; addr_word < count / 2;
-                       addr_word += (HFM_SECTOR_SIZE / 2)) {
-               if (retval == ERROR_OK)
-                       bank->sectors[addr_word / (HFM_SECTOR_SIZE / 2)].is_erased = 0;
-               else
-                       bank->sectors[addr_word / (HFM_SECTOR_SIZE / 2)].is_erased = -1;
-       }
-       return retval;
+       return dsp5680xx_f_wr(bank->target, buffer, bank->base + offset / 2, count, 0);
 }
 
 static int dsp5680xx_probe(struct flash_bank *bank)
@@ -206,22 +188,7 @@ static int dsp5680xx_probe(struct flash_bank *bank)
 static int dsp5680xx_flash_erase(struct flash_bank *bank, unsigned int first,
                unsigned int last)
 {
-       int retval;
-
-       retval = dsp5680xx_f_erase(bank->target, (uint32_t) first, (uint32_t) last);
-       if ((!(first | last)) || ((first == 0) && (last == (HFM_SECTOR_COUNT - 1))))
-               last = HFM_SECTOR_COUNT - 1;
-       if (retval == ERROR_OK)
-               for (unsigned int i = first; i <= last; i++)
-                       bank->sectors[i].is_erased = 1;
-       else
-               /**
-                * If an error occurred unknown status
-                *is set even though some sector could have been correctly erased.
-                */
-               for (unsigned int i = first; i <= last; i++)
-                       bank->sectors[i].is_erased = -1;
-       return retval;
+       return dsp5680xx_f_erase(bank->target, (uint32_t) first, (uint32_t) last);
 }
 
 /**
@@ -241,16 +208,14 @@ static int dsp5680xx_flash_erase_check(struct flash_bank *bank)
        uint32_t i;
 
        for (i = 0; i < HFM_SECTOR_COUNT; i++) {
-               if (bank->sectors[i].is_erased == -1) {
-                       retval = dsp5680xx_f_erase_check(bank->target, &erased, i);
-                       if (retval != ERROR_OK) {
-                               bank->sectors[i].is_erased = -1;
-                       } else {
-                               if (erased)
-                                       bank->sectors[i].is_erased = 1;
-                               else
-                                       bank->sectors[i].is_erased = 0;
-                       }
+               retval = dsp5680xx_f_erase_check(bank->target, &erased, i);
+               if (retval != ERROR_OK) {
+                       bank->sectors[i].is_erased = -1;
+               } else {
+                       if (erased)
+                               bank->sectors[i].is_erased = 1;
+                       else
+                               bank->sectors[i].is_erased = 0;
                }
        }
        return retval;
index 2597d8bebda922fe597a0a0dc15a5ce1257292b6..705c1b3399d93a4fdc04620f701ee58164ee315a 100644 (file)
@@ -382,8 +382,6 @@ static int em357_erase(struct flash_bank *bank, unsigned int first,
                retval = em357_wait_status_busy(bank, 100);
                if (retval != ERROR_OK)
                        return retval;
-
-               bank->sectors[i].is_erased = 1;
        }
 
        retval = target_write_u32(target, EM357_FLASH_CR, FLASH_LOCK);
@@ -877,13 +875,9 @@ COMMAND_HANDLER(em357_handle_mass_erase_command)
                return retval;
 
        retval = em357_mass_erase(bank);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "em357 mass erase complete");
-       else
+       else
                command_print(CMD, "em357 mass erase failed");
 
        return retval;
index dc7dd40be650680581defde96fbd67bb42fdab8b..831f34257163d28d5a606fec88466b5b28f22ec5 100644 (file)
@@ -328,7 +328,6 @@ static int fm3_erase(struct flash_bank *bank, unsigned int first,
                        if (retval != ERROR_OK)
                                return retval;
                }
-               bank->sectors[sector].is_erased = 1;
        }
 
        target_free_working_area(target, write_algorithm);
@@ -953,10 +952,6 @@ COMMAND_HANDLER(fm3_handle_chip_erase_command)
                return retval;
 
        if (fm3_chip_erase(bank) == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
                command_print(CMD, "fm3 chip erase complete");
        } else {
                command_print(CMD, "fm3 chip erase failed");
index 592ccb6033992971926c15cf9180c76f8c244067..09865d2ab77ff16bcae0ae4e4845af23012d088d 100644 (file)
@@ -177,8 +177,6 @@ static int fm4_flash_erase(struct flash_bank *bank, unsigned int first,
                        goto err_run_ret;
                } else
                        retval = ERROR_OK;
-
-               bank->sectors[sector].is_erased = 1;
        }
 
 err_run_ret:
index 0b5ba12a9a7fa97dc985ee9201907b3d0e11bf0d..513b072dde068692bbb7a02ff8166f52c6bf3ac2 100644 (file)
@@ -1000,8 +1000,6 @@ static int kinetis_ke_erase(struct flash_bank *bank, unsigned int first,
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
-               bank->sectors[i].is_erased = 1;
-
                if (i == 2)
                        fcf_erased = true;
        }
index 1327da6e11bea6299e1feb6c01e89eb664917697..d11af909463b48b60182bcc802c8b587403d2544 100644 (file)
@@ -302,8 +302,6 @@ static int max32xxx_erase(struct flash_bank *bank, unsigned int first,
                        max32xxx_flash_op_post(bank);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
-
-               bank->sectors[banknr].is_erased = 1;
        }
 
        if (!erased) {
@@ -771,13 +769,9 @@ COMMAND_HANDLER(max32xxx_handle_mass_erase_command)
        if (retval != ERROR_OK)
                return retval;
 
-       if (max32xxx_mass_erase(bank) == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (max32xxx_mass_erase(bank) == ERROR_OK)
                command_print(CMD, "max32xxx mass erase complete");
-       else
+       else
                command_print(CMD, "max32xxx mass erase failed");
 
        return ERROR_OK;
index 228d4bcd5c099d4575b24a5bb9c100126f244662..f3c85525a1a315a0162a5da36b112a5b449de054 100644 (file)
@@ -197,7 +197,6 @@ static int mdr_erase(struct flash_bank *bank, unsigned int first,
                        if (retval != ERROR_OK)
                                goto reset_pg_and_lock;
                }
-               bank->sectors[i].is_erased = 1;
        }
 
 reset_pg_and_lock:
index b26680383b0b04a238aa3a5ed3c7ff6d86bf31ab..6f9a5d378e94b1184b588bc8d2299ced953ec4a2 100644 (file)
@@ -1206,8 +1206,6 @@ static int niietcm4_erase(struct flash_bank *bank, unsigned int first,
                retval = niietcm4_opstatus_check(bank);
                if (retval != ERROR_OK)
                        return retval;
-
-               bank->sectors[i].is_erased = 1;
        }
 
        return retval;
index ce3973b9f331a3764be399a1b8b886b018d51161..cb7c1df836f3605ab5c10f1da228f40c7efb4c39 100644 (file)
@@ -1532,8 +1532,6 @@ static int numicro_erase(struct flash_bank *bank, unsigned int first,
                        retval = target_write_u32(target, NUMICRO_FLASH_ISPCON, (status | ISPCON_ISPFF));
                        if (retval != ERROR_OK)
                                return retval;
-               } else {
-                       bank->sectors[i].is_erased = 1;
                }
        }
 
index a1f2cdf4ec3e8d8991dae7f9ad2e860d6368ea3e..31433e03fc1d33d79be9af4fd7049c592defafd9 100644 (file)
@@ -353,7 +353,6 @@ static int pic32mx_erase(struct flash_bank *bank, unsigned int first,
                        return ERROR_FLASH_OPERATION_FAILED;
                if (status & NVMCON_LVDERR)
                        return ERROR_FLASH_OPERATION_FAILED;
-               bank->sectors[i].is_erased = 1;
        }
 
        return ERROR_OK;
index 609d3b9dd583095c938e58a88d0f87e9e17b5bd8..0a2702ab5d3e13338ba15ea35619677dd4b42048 100644 (file)
@@ -520,16 +520,9 @@ static int psoc4_mass_erase(struct flash_bank *bank)
 
        /* Call "Erase All" system ROM API */
        uint32_t param = 0;
-       retval = psoc4_sysreq(bank, PSOC4_CMD_ERASE_ALL,
+       return psoc4_sysreq(bank, PSOC4_CMD_ERASE_ALL,
                        0,
                        &param, sizeof(param), NULL);
-
-       if (retval == ERROR_OK)
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
-       return retval;
 }
 
 
index c65411bb9cfb98ce85609ada2ca5e0c56d424e5d..b8b520237e61def82a22d2449e686e3b9f3b120f 100644 (file)
@@ -744,9 +744,6 @@ static int psoc6_erase(struct flash_bank *bank, unsigned int first,
                        if (hr != ERROR_OK)
                                goto exit_free_wa;
 
-                       for (unsigned int i = first; i < first + rows_in_sector; i++)
-                               bank->sectors[i].is_erased = 1;
-
                        first += rows_in_sector;
                } else {
                        /* Perform Row Erase otherwise */
@@ -754,7 +751,6 @@ static int psoc6_erase(struct flash_bank *bank, unsigned int first,
                        if (hr != ERROR_OK)
                                goto exit_free_wa;
 
-                       bank->sectors[first].is_erased = 1;
                        first += 1;
                }
        }
index 569c09b46915026c6112e2068d0a2b6c70ab1c2d..d2638c152dd9e5672314d7c7c24e8cf7d65b0f3e 100644 (file)
@@ -886,8 +886,6 @@ static int stellaris_erase(struct flash_bank *bank, unsigned int first,
                        target_write_u32(target, FLASH_CRIS, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
-
-               bank->sectors[banknr].is_erased = 1;
        }
 
        return ERROR_OK;
@@ -1318,13 +1316,9 @@ COMMAND_HANDLER(stellaris_handle_mass_erase_command)
        if (retval != ERROR_OK)
                return retval;
 
-       if (stellaris_mass_erase(bank) == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (stellaris_mass_erase(bank) == ERROR_OK)
                command_print(CMD, "stellaris mass erase complete");
-       else
+       else
                command_print(CMD, "stellaris mass erase failed");
 
        return ERROR_OK;
index afc6ec9b6c628638f3584534514ece61462b16b3..3bda9bc20b5b414834881d1590165ad8febd3546 100644 (file)
@@ -402,8 +402,6 @@ static int stm32x_erase(struct flash_bank *bank, unsigned int first,
                retval = stm32x_wait_status_busy(bank, FLASH_ERASE_TIMEOUT);
                if (retval != ERROR_OK)
                        return retval;
-
-               bank->sectors[i].is_erased = 1;
        }
 
        retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_LOCK);
@@ -1524,13 +1522,9 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
                return retval;
 
        retval = stm32x_mass_erase(bank);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "stm32x mass erase complete");
-       else
+       else
                command_print(CMD, "stm32x mass erase failed");
 
        return retval;
index c5adf0926eb25be47d53d3dae607cc67edd31d17..e80928ddf887f5ceb5490e029633ef165492df3d 100644 (file)
@@ -649,8 +649,6 @@ static int stm32x_erase(struct flash_bank *bank, unsigned int first,
                retval = stm32x_wait_status_busy(bank, FLASH_ERASE_TIMEOUT);
                if (retval != ERROR_OK)
                        return retval;
-
-               bank->sectors[i].is_erased = 1;
        }
 
        retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_LOCK);
@@ -1561,10 +1559,6 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
 
        retval = stm32x_mass_erase(bank);
        if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
                command_print(CMD, "stm32x mass erase complete");
        } else {
                command_print(CMD, "stm32x mass erase failed");
index 5c71d31f06653f30742dbc722b68846287f73571..89ba75dad8a34c2cd656cc9b430969c2cf9084e7 100644 (file)
@@ -512,7 +512,6 @@ static int stm32x_erase(struct flash_bank *bank, unsigned int first,
                        LOG_ERROR("erase time-out or operation error sector %u", i);
                        goto flash_lock;
                }
-               bank->sectors[i].is_erased = 1;
        }
 
 flash_lock:
@@ -1087,15 +1086,10 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
                return retval;
 
        retval = stm32x_mass_erase(bank);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "stm32h7x mass erase complete");
-       } else {
+       else
                command_print(CMD, "stm32h7x mass erase failed");
-       }
 
        return retval;
 }
index e6d3a8350bba59ae6c38c1ecf7fabb7e5ac4226c..7d6c900283b14eae3d91147a8f795c1092c4f479 100644 (file)
@@ -1002,8 +1002,6 @@ static int stm32l4_erase(struct flash_bank *bank, unsigned int first,
                retval = stm32l4_wait_status_busy(bank, FLASH_ERASE_TIMEOUT);
                if (retval != ERROR_OK)
                        break;
-
-               bank->sectors[i].is_erased = 1;
        }
 
 err_lock:
@@ -1713,15 +1711,10 @@ COMMAND_HANDLER(stm32l4_handle_mass_erase_command)
                return retval;
 
        retval = stm32l4_mass_erase(bank);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "stm32l4x mass erase complete");
-       } else {
+       else
                command_print(CMD, "stm32l4x mass erase failed");
-       }
 
        return retval;
 }
index 3bb986e1ca90fb22d8c1e989820d6a8ff39eca32..488dc978a54d42df00c434a7ec937005bb8248ba 100644 (file)
@@ -317,15 +317,10 @@ COMMAND_HANDLER(stm32lx_handle_mass_erase_command)
                return retval;
 
        retval = stm32lx_mass_erase(bank);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (unsigned int i = 0; i < bank->num_sectors; i++)
-                       bank->sectors[i].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "stm32lx mass erase complete");
-       } else {
+       else
                command_print(CMD, "stm32lx mass erase failed");
-       }
 
        return retval;
 }
index f6a4934141b21c94f679fc716cb2d7bf6e16c470..0abd8449b782d6da5aa31422d919e6aa1ad9954b 100644 (file)
@@ -588,18 +588,13 @@ COMMAND_HANDLER(stmqspi_handle_mass_erase_command)
        retval = wait_till_ready(bank, SPI_MASS_ERASE_TIMEOUT);
 
        duration_measure(&bench);
-       if (retval == ERROR_OK) {
-               /* set all sectors as erased */
-               for (sector = 0; sector < bank->num_sectors; sector++)
-                       bank->sectors[sector].is_erased = 1;
-
+       if (retval == ERROR_OK)
                command_print(CMD, "stmqspi mass erase completed in %fs (%0.3f KiB/s)",
                        duration_elapsed(&bench),
                        duration_kbps(&bench, bank->size));
-       } else {
+       else
                command_print(CMD, "stmqspi mass erase not completed even after %fs",
                        duration_elapsed(&bench));
-       }
 
 err:
        /* Switch to memory mapped mode before return to prompt */
index 5f3ff0069ef7f15d46b2a8cb01c01d9e0fb090aa..9b977bf908775ae5fdf21e237ed64931c9c8866b 100644 (file)
@@ -376,9 +376,6 @@ static int str7x_erase(struct flash_bank *bank, unsigned int first,
        if (err != ERROR_OK)
                return err;
 
-       for (unsigned int i = first; i <= last; i++)
-               bank->sectors[i].is_erased = 1;
-
        return ERROR_OK;
 }
 
index 5c3a9cb2b7edbada8f8c0a195ed6eae032dddf8e..8f39d75fa5f591c02bcc457b709f3b1bf88fb3fe 100644 (file)
@@ -300,9 +300,6 @@ static int str9x_erase(struct flash_bank *bank, unsigned int first,
                        break;
        }
 
-       for (unsigned int i = first; i <= last; i++)
-               bank->sectors[i].is_erased = 1;
-
        return ERROR_OK;
 }
 
index a519ab864302d2bc177bde6ddd11bf81132c51c8..9e5f0a3ddd7ce2937ed07380b2eab62112e9bb9b 100644 (file)
@@ -141,9 +141,6 @@ static int xmc1xxx_erase(struct flash_bank *bank, unsigned int first,
                goto err_run;
        }
 
-       for (unsigned int sector = first; sector <= last; sector++)
-               bank->sectors[sector].is_erased = 1;
-
 err_run:
        for (i = 0; i < ARRAY_SIZE(reg_params); i++)
                destroy_reg_param(&reg_params[i]);
index 04734d10f9ff0b0cbc0acbb4232508983bcab3a3..bd37537ccd5547382b18b641be2b68c71ebeacd7 100644 (file)
@@ -577,8 +577,6 @@ static int xmc4xxx_erase(struct flash_bank *bank, unsigned int first,
 
                if (res != ERROR_OK)
                        goto clear_status_and_exit;
-
-               bank->sectors[i].is_erased = 1;
        }
 
 clear_status_and_exit:

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)