@@ -1679,21 +1679,17 @@ static int __xipram do_write_oneword(struct map_info *map, struct flchip *chip,
ENABLE_VPP(map);
xip_disable(map, chip, adr);
- retry:
- ret = do_write_oneword_once(map, chip, adr, datum, mode, cfi);
+ for (retry_cnt = 0; retry_cnt < MAX_RETRIES; retry_cnt++) {
+ ret = do_write_oneword_once(map, chip, adr, datum, mode, cfi);
+
+ /* Did we succeed? */
+ if (!ret)
+ break;
- /* Did we succeed? */
- if (ret) {
/* reset on all failures. */
map_write(map, CMD(0xF0), chip->start);
- /* FIXME - should have reset delay before continuing */
- if (++retry_cnt <= MAX_RETRIES) {
- ret = 0;
- goto retry;
- }
-
- ret = -EIO;
+ /* FIXME - should have reset delay before continuing */
}
xip_enable(map, chip, adr);
This is just to refactor the function by removing the goto statement. Change to use the for loop instead of the goto statement. Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp> Cc: Fabio Bettoni <fbettoni@gmail.com> Co: Hauke Mehrtens <hauke@hauke-m.de> Co: Koen Vandeputte <koen.vandeputte@ncentric.com> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> Cc: Joakim Tjernlund <Joakim.Tjernlund@infinera.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: linux-mtd@lists.infradead.org --- Changes since v2: - None. Changes since v1: - Add the patch. drivers/mtd/chips/cfi_cmdset_0002.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)