summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Grzeschik <m.grzeschik@pengutronix.de>2014-02-12 12:37:15 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-27 09:56:30 +0100
commit2f46c8f9e562a88c9dbbb1d93c21d6f08c106816 (patch)
tree32d87999d709c68f66646d0555b8511be25a1e80
parent415e438072f9a03c58cb568c82a2ea2cba105bbb (diff)
downloaddt-utils-2f46c8f9e562a88c9dbbb1d93c21d6f08c106816.tar.gz
dt-utils-2f46c8f9e562a88c9dbbb1d93c21d6f08c106816.tar.xz
state: fix state handling for devices without needed erase
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--src/state.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c
index c8fbc59..63f561f 100644
--- a/src/state.c
+++ b/src/state.c
@@ -1067,7 +1067,8 @@ int state_backend_raw_file(struct state *state, const char *path, off_t offset,
if (!ret) {
if (!size)
size = meminfo.size;
- backend_raw->need_erase = 1;
+ if (!(meminfo.flags & MTD_NO_ERASE))
+ backend_raw->need_erase = 1;
backend_raw->step = ALIGN(backend_raw->size_full, meminfo.erasesize);
if (verbose)
fprintf(stderr, "%s is a mtd of size %d, adjust stepsize to %ld\n",