Correct the assignment in board_fdt_blob_setup() to use *fdtp instead of
fdtp, ensuring the caller receives the correct FDT address. This
resolves an issue where the device tree pointer was not properly set due
to assigning to the local parameter rather than the dereferenced
pointer.

Fixes: 63a8506580b6 ("board: mpfs_icicle: implement 
board_fdt_blob_setup()/board_fit_config_name_match()")
Signed-off-by: Jamie Gibbons <[email protected]>
---
 board/microchip/mpfs_icicle/mpfs_icicle.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.c 
b/board/microchip/mpfs_icicle/mpfs_icicle.c
index 30c0d2fff8f..6e5dc66b463 100644
--- a/board/microchip/mpfs_icicle/mpfs_icicle.c
+++ b/board/microchip/mpfs_icicle/mpfs_icicle.c
@@ -74,7 +74,7 @@ int board_fit_config_name_match(const char *name)
 
 int board_fdt_blob_setup(void **fdtp)
 {
-       fdtp = (void *)_end;
+       *fdtp = (void *)_end;
 
        /*
         * The devicetree provided by the previous stage is very minimal due to
@@ -85,7 +85,7 @@ int board_fdt_blob_setup(void **fdtp)
         */
        if (IS_ENABLED(CONFIG_OF_BOARD) && !IS_ENABLED(CONFIG_MULTI_DTB_FIT)) {
                if (gd->arch.firmware_fdt_addr)
-                       fdtp = (void *)(uintptr_t)gd->arch.firmware_fdt_addr;
+                       *fdtp = (void *)(uintptr_t)gd->arch.firmware_fdt_addr;
        }
 
        return 0;
-- 
2.43.0

Reply via email to