61 lines
1.9 KiB
Diff
61 lines
1.9 KiB
Diff
|
From 95633c4dfe943a701d4fcd809e6cabf4bf8710b8 Mon Sep 17 00:00:00 2001
|
||
|
From: Barry Grussling <barry@grussling.com>
|
||
|
Date: Sun, 12 Jan 2020 12:33:32 -0800
|
||
|
Subject: [PATCH] mtd-utils: Fix return value of ubiformat
|
||
|
|
||
|
This changeset fixes a feature regression in ubiformat. Older versions of
|
||
|
ubiformat, when invoked with a flash-image, would return 0 in the case no error
|
||
|
was encountered. Upon upgrading to latest, it was discovered that ubiformat
|
||
|
returned 255 even without encountering an error condition.
|
||
|
|
||
|
This changeset corrects the above issue and causes ubiformat, when given an
|
||
|
image file, to return 0 when no errors are detected.
|
||
|
|
||
|
Tested by running through my loading scripts and verifying ubiformat returned
|
||
|
0.
|
||
|
|
||
|
Signed-off-by: Barry Grussling <barry@grussling.com>
|
||
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
||
|
Backported-from: 95633c4dfe943a701d4fcd809e6cabf4bf8710b8
|
||
|
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
|
||
|
---
|
||
|
ubi-utils/ubiformat.c | 7 +++++--
|
||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
|
||
|
index 64afad2..be40e52 100644
|
||
|
--- a/ubi-utils/ubiformat.c
|
||
|
+++ b/ubi-utils/ubiformat.c
|
||
|
@@ -550,6 +550,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
|
||
|
struct ubi_vtbl_record *vtbl;
|
||
|
int eb1 = -1, eb2 = -1;
|
||
|
long long ec1 = -1, ec2 = -1;
|
||
|
+ int ret = -1;
|
||
|
|
||
|
write_size = UBI_EC_HDR_SIZE + mtd->subpage_size - 1;
|
||
|
write_size /= mtd->subpage_size;
|
||
|
@@ -643,8 +644,10 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
|
||
|
if (!args.quiet && !args.verbose)
|
||
|
printf("\n");
|
||
|
|
||
|
- if (novtbl)
|
||
|
+ if (novtbl) {
|
||
|
+ ret = 0;
|
||
|
goto out_free;
|
||
|
+ }
|
||
|
|
||
|
if (eb1 == -1 || eb2 == -1) {
|
||
|
errmsg("no eraseblocks for volume table");
|
||
|
@@ -669,7 +672,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
|
||
|
|
||
|
out_free:
|
||
|
free(hdr);
|
||
|
- return -1;
|
||
|
+ return ret;
|
||
|
}
|
||
|
|
||
|
int main(int argc, char * const argv[])
|
||
|
--
|
||
|
2.24.1
|
||
|
|