mtd-utils: revert faulty upstream patch for now
authorChristian Lamparter <chunkeey@gmail.com>
Thu, 7 Jun 2018 21:30:14 +0000 (23:30 +0200)
committerJohn Crispin <john@phrozen.org>
Fri, 8 Jun 2018 07:33:44 +0000 (09:33 +0200)
Some of the ubi-tools in the upstream mtd-utils have been
broken by a bad patch upstream. It causes major breakage
during sysupgrade when the kernel, rootfs, ... volumes
are deleted in the wrong order.

This patch therefore reverts the faulty upstream commit which
fixes the bug.

linux-mtd mailing-list thread:
<http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html>

Cc: John Crispin <john@phrozen.org>
Reported-by: L. Wayne Leach <LLeachii@aol.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit daf19649dbf101ce7ae17abf84eeed7a30b41275)

package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch [new file with mode: 0644]

diff --git a/package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
new file mode 100644 (file)
index 0000000..79695c4
--- /dev/null
@@ -0,0 +1,30 @@
+From 7d27becbb355853ba778e8b83fe171eecb8195d2 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 7 Jun 2018 22:36:19 +0200
+Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
+
+This reverts commit dede98ffb706676309488d7cc660f569548d5930.
+---
+ 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.17.1
+