diff options
Diffstat (limited to 'external/poky/meta/recipes-devtools/mtd/mtd-utils')
2 files changed, 62 insertions, 92 deletions
diff --git a/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch deleted file mode 100644 index 4ece56b9..00000000 --- a/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001 -From: David Oberhollenzer <david.oberhollenzer@sigma-star.at> -Date: Sat, 9 Jun 2018 16:45:22 +0200 -Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1" - -This reverts commit dede98ffb706676309488d7cc660f569548d5930. - -The original commit tried to fix a descrepancy between the implementation -and the documentation by making the implementation comply. - -When making the change, it was overlooked, that ubinfo and ubirename were -written against the implementation instead of the behaviour specified by -the documentation. So were further internal functions like -ubi_get_vol_info1_nm which further breaks ubirmvol. - -A report with an outline of a resulting problem can be read on -the mailing list: - -http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html - -From the report: - -steps to reproduce: have mtd-utils 2.0.1 or 2.0.2 - -0. make a bunch of ubi volumes in sequential order - -ubimkvol /dev/ubi0 -s 64KiB -N test1 -ubimkvol /dev/ubi0 -s 64KiB -N test2 -ubimkvol /dev/ubi0 -s 64KiB -N test3 -ubimkvol /dev/ubi0 -s 64KiB -N test4 -.. - -1. delete the test1 volume, making a hole in the volume table - -ubirmvol /dev/ubi0 -N test1 - -2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" ) - - |root at mr24:/# ubirmvol /dev/ubi0 -N test4 - |ubirmvol: error!: cannot find UBI volume "test4" - | error 19 (No such device) - -or "ubinfo -a" - - | root at mr24:/# ubinfo -a - | UBI version: 1 - | Count of UBI devices: 1 - | UBI control device major/minor: 10:59 - | Present UBI devices: ubi0 - | - | ubi0 - | Volumes count: 11 - | Logical eraseblock size: 15872 bytes, 15.5 KiB - | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB) - | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB) - | Maximum count of volumes 92 - | Count of bad physical eraseblocks: 0 - | Count of reserved physical eraseblocks: 40 - | Current maximum erase counter value: 984 - | Minimum input/output unit size: 512 bytes - | Character device major/minor: 251:0 - | ubinfo: error!: libubi failed to probe volume 5 on ubi0 - | error 19 (No such device) - | Present volumes: 0, 1, 2, 3, 4root at mr24:/# - -Reported-by: Christian Lamparter <chunkeey@gmail.com> -Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at> -Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347] ---- - lib/libubi.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/lib/libubi.c b/lib/libubi.c -index b50e68a..978b433 100644 ---- a/lib/libubi.c -+++ b/lib/libubi.c -@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id, - info->dev_num = dev_num; - info->vol_id = vol_id; - -- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) { -- if (errno == ENOENT) -- errno = ENODEV; -+ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) - return -1; -- } - - ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50); - if (ret < 0) --- -2.14.4 - diff --git a/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch b/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch new file mode 100644 index 00000000..d43f7e1a --- /dev/null +++ b/external/poky/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch @@ -0,0 +1,62 @@ +From 4d19bffcfd66e25d3ee74536ae2d2da7ad52e8e2 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 +Organization: O.S. Systems Software LTDA. + +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. + +Upstream-Status: Backport [2.1.2] + +Signed-off-by: Barry Grussling <barry@grussling.com> +Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + 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 a90627c..5377b12 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.27.0 + |