spl: fit: Do not fail immediately if an overlay is not available
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Tue, 22 Oct 2019 14:39:14 +0000 (16:39 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 7 Jan 2020 16:12:47 +0000 (11:12 -0500)
If one overlay that must be applied cannot be found in the FIT, the current
implementation stops applying the overlays. Let's make it skip only the
failing overlay instead.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
common/spl/spl_fit.c

index e6935c16b7ac2b44c84946f2bd937664cae35916..0245dcadb416e43bd2f5863adf318174f6fd3fd5 100644 (file)
@@ -324,9 +324,13 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
                for (; ; index++) {
                        node = spl_fit_get_image_node(fit, images, FIT_FDT_PROP,
                                                      index);
-                       if (node < 0) {
+                       if (node == -E2BIG) {
                                debug("%s: No additional FDT node\n", __func__);
                                break;
+                       } else if (node < 0) {
+                               debug("%s: unable to find FDT node %d\n",
+                                     __func__, index);
+                               continue;
                        }
 
                        if (!tmpbuffer) {