summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch')
-rw-r--r--meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch b/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
new file mode 100644
index 0000000000..d43f7e1a7a
--- /dev/null
+++ b/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
@@ -0,0 +1,62 @@
1From 4d19bffcfd66e25d3ee74536ae2d2da7ad52e8e2 Mon Sep 17 00:00:00 2001
2From: Barry Grussling <barry@grussling.com>
3Date: Sun, 12 Jan 2020 12:33:32 -0800
4Subject: [PATCH] mtd-utils: Fix return value of ubiformat
5Organization: O.S. Systems Software LTDA.
6
7This changeset fixes a feature regression in ubiformat. Older versions of
8ubiformat, when invoked with a flash-image, would return 0 in the case no error
9was encountered. Upon upgrading to latest, it was discovered that ubiformat
10returned 255 even without encountering an error condition.
11
12This changeset corrects the above issue and causes ubiformat, when given an
13image file, to return 0 when no errors are detected.
14
15Tested by running through my loading scripts and verifying ubiformat returned
160.
17
18Upstream-Status: Backport [2.1.2]
19
20Signed-off-by: Barry Grussling <barry@grussling.com>
21Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
22Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
23---
24 ubi-utils/ubiformat.c | 7 +++++--
25 1 file changed, 5 insertions(+), 2 deletions(-)
26
27diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
28index a90627c..5377b12 100644
29--- a/ubi-utils/ubiformat.c
30+++ b/ubi-utils/ubiformat.c
31@@ -550,6 +550,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
32 struct ubi_vtbl_record *vtbl;
33 int eb1 = -1, eb2 = -1;
34 long long ec1 = -1, ec2 = -1;
35+ int ret = -1;
36
37 write_size = UBI_EC_HDR_SIZE + mtd->subpage_size - 1;
38 write_size /= mtd->subpage_size;
39@@ -643,8 +644,10 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
40 if (!args.quiet && !args.verbose)
41 printf("\n");
42
43- if (novtbl)
44+ if (novtbl) {
45+ ret = 0;
46 goto out_free;
47+ }
48
49 if (eb1 == -1 || eb2 == -1) {
50 errmsg("no eraseblocks for volume table");
51@@ -669,7 +672,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
52
53 out_free:
54 free(hdr);
55- return -1;
56+ return ret;
57 }
58
59 int main(int argc, char * const argv[])
60--
612.27.0
62