projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
47f2503
)
mtd: spi-nor: core: Advance erase after the erase cmd has been completed
author
Tudor Ambarus
<tudor.ambarus@microchip.com>
Sat, 6 Mar 2021 09:49:58 +0000
(11:49 +0200)
committer
Tudor Ambarus
<tudor.ambarus@microchip.com>
Mon, 15 Mar 2021 15:58:39 +0000
(17:58 +0200)
addr and len were gratuitously updated even when spi_nor_wait_till_ready()
failed. Wait for the erase cmd to complete and then advance the erase.
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Link:
https://lore.kernel.org/r/20210306095002.22983-2-tudor.ambarus@microchip.com
drivers/mtd/spi-nor/core.c
patch
|
blob
|
history
diff --git
a/drivers/mtd/spi-nor/core.c
b/drivers/mtd/spi-nor/core.c
index 4a315cb1c4dbf9ccc25ce577ce29a1be2de56bce..d996e57c6d827866afd9a82b60189c170215a2e7 100644
(file)
--- a/
drivers/mtd/spi-nor/core.c
+++ b/
drivers/mtd/spi-nor/core.c
@@
-1618,12
+1618,12
@@
static int spi_nor_erase_multi_sectors(struct spi_nor *nor, u64 addr, u32 len)
if (ret)
goto destroy_erase_cmd_list;
- addr += cmd->size;
- cmd->count--;
-
ret = spi_nor_wait_till_ready(nor);
if (ret)
goto destroy_erase_cmd_list;
+
+ addr += cmd->size;
+ cmd->count--;
}
list_del(&cmd->list);
kfree(cmd);
@@
-1704,12
+1704,12
@@
static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr)
if (ret)
goto erase_err;
- addr += mtd->erasesize;
- len -= mtd->erasesize;
-
ret = spi_nor_wait_till_ready(nor);
if (ret)
goto erase_err;
+
+ addr += mtd->erasesize;
+ len -= mtd->erasesize;
}
/* erase multiple sectors */