The bloblist should not be finalised until the image is fully set up.
This allows any final handoff information to be included in the bloblist.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 common/spl/spl.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 8f87a27e61f..0a9fea4f22d 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -735,18 +735,6 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
        }
 
        spl_perform_fixups(&spl_image);
-       if (CONFIG_IS_ENABLED(HANDOFF)) {
-               ret = write_spl_handoff();
-               if (ret)
-                       printf(SPL_TPL_PROMPT
-                              "SPL hand-off write failed (err=%d)\n", ret);
-       }
-       if (CONFIG_IS_ENABLED(BLOBLIST)) {
-               ret = bloblist_finish();
-               if (ret)
-                       printf("Warning: Failed to finish bloblist (ret=%d)\n",
-                              ret);
-       }
 
        os = spl_image.os;
        if (os == IH_OS_U_BOOT) {
@@ -798,6 +786,18 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
                                       dev->name, rc);
                }
        }
+       if (CONFIG_IS_ENABLED(HANDOFF)) {
+               ret = write_spl_handoff();
+               if (ret)
+                       printf(SPL_TPL_PROMPT
+                              "SPL hand-off write failed (err=%d)\n", ret);
+       }
+       if (CONFIG_IS_ENABLED(BLOBLIST)) {
+               ret = bloblist_finish();
+               if (ret)
+                       printf("Warning: Failed to finish bloblist (ret=%d)\n",
+                              ret);
+       }
 
        spl_board_prepare_for_boot();
        jump_to_image_no_args(&spl_image);
-- 
2.42.0.rc2.253.gd59a3bf2b4-goog

Reply via email to