]> www.infradead.org Git - mtd-utils.git/commitdiff
ubiformat: fix --erase-counter handling
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 26 Nov 2009 09:38:45 +0000 (11:38 +0200)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 26 Nov 2009 09:38:45 +0000 (11:38 +0200)
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>
ubi-utils/src/ubiformat.c

index 62375a679f487bf44bc3a1ef4e4ab79a034b770b..681ea305794100fdb1b21c60336c09c5807b0ef8 100644 (file)
@@ -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) {