summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2009-11-26 11:38:45 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2009-11-26 11:38:45 +0200
commit14da740cec46d151e813905e449e7ff21e85c01f (patch)
tree1d4daf15a6848f812a9ee5a1f379608935c4d649
parent600337e7c81e812d34460b413c5b044f454bc49d (diff)
ubiformat: fix --erase-counter handling
The --erase-counter option did not work and this was reproted by Darwin Rambo <drambo@broadcom.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--ubi-utils/src/ubiformat.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/ubi-utils/src/ubiformat.c b/ubi-utils/src/ubiformat.c
index 62375a6..681ea30 100644
--- a/ubi-utils/src/ubiformat.c
+++ b/ubi-utils/src/ubiformat.c
@@ -506,13 +506,12 @@ static int flash_image(const struct mtd_dev_info *mtd, struct ubi_scan_info *si)
goto out_close;
}
-
- if (si->ec[eb] <= EC_MAX)
+ if (args.override_ec)
+ ec = args.ec;
+ else if (si->ec[eb] <= EC_MAX)
ec = si->ec[eb] + 1;
- else if (!args.override_ec)
- ec = si->mean_ec;
else
- ec = args.ec;
+ ec = si->mean_ec;
if (args.verbose) {
printf(", change EC to %lld", ec);
@@ -590,12 +589,12 @@ static int format(const struct mtd_dev_info *mtd, const struct ubigen_info *ui,
if (si->ec[eb] == EB_BAD)
continue;
- if (si->ec[eb] <= EC_MAX)
+ if (args.override_ec)
+ ec = args.ec;
+ else if (si->ec[eb] <= EC_MAX)
ec = si->ec[eb] + 1;
- else if (!args.override_ec)
- ec = si->mean_ec;
else
- ec = args.ec;
+ ec = si->mean_ec;
ubigen_init_ec_hdr(ui, hdr, ec);
if (args.verbose) {