]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
image-fit: don't set compression if it can't be read
authorDaniel Golle <daniel@makrotopia.org>
Sat, 27 Aug 2022 03:17:28 +0000 (04:17 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 31 Aug 2022 16:21:47 +0000 (12:21 -0400)
fit_image_get_comp() should not set value -1 in case it can't read
the compression node. Instead, leave the value untouched in that case
as it can be absent and a default value previously defined by the
caller of fit_image_get_comp() should be used.

As a result the warning message
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
no longer shows if the compression node is actually absent.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
boot/bootm.c
boot/image-fit.c
cmd/ximg.c

index 63c79a9cfcdfbf97f532084dd21294e0bffc358c..29c067fae7e14b2d8556b6bd14b8ada57fed9215 100644 (file)
@@ -1024,10 +1024,8 @@ static int bootm_host_load_image(const void *fit, int req_image_type,
                return -EINVAL;
        }
 
-       if (fit_image_get_comp(fit, noffset, &image_comp)) {
-               puts("Can't get image compression!\n");
-               return -EINVAL;
-       }
+       if (fit_image_get_comp(fit, noffset, &image_comp))
+               image_comp = IH_COMP_NONE;
 
        /* Allow the image to expand by a factor of 4, should be safe */
        buf_size = (1 << 20) + len * 4;
index df3e5df8836a78f328b74453d5d27de33397a3d3..21dbd05118456471eb35488262c0143d898f3006 100644 (file)
@@ -477,7 +477,7 @@ void fit_print_contents(const void *fit)
 void fit_image_print(const void *fit, int image_noffset, const char *p)
 {
        char *desc;
-       uint8_t type, arch, os, comp;
+       uint8_t type, arch, os, comp = IH_COMP_NONE;
        size_t size;
        ulong load, entry;
        const void *data;
@@ -794,7 +794,6 @@ int fit_image_get_comp(const void *fit, int noffset, uint8_t *comp)
        data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
        if (data == NULL) {
                fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
-               *comp = -1;
                return -1;
        }
 
index 65ba41320a02350234e96b1f0769ea2a9e128c48..f84141ff45c072e1253ddcf9dad1579ff05f1cf7 100644 (file)
@@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
                        return 1;
                }
 
-               if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
-                       puts("Could not find script subimage "
-                               "compression type\n");
-                       return 1;
-               }
+               if (fit_image_get_comp(fit_hdr, noffset, &comp))
+                       comp = IH_COMP_NONE;
 
                data = (ulong)fit_data;
                len = (ulong)fit_len;