From ba18f87a9e676e7792d98a1e9984d243f195b5b2 Mon Sep 17 00:00:00 2001 From: Bowen Wang Date: Wed, 17 Jul 2024 20:13:12 +0800 Subject: [PATCH] devicetree/fdt: fix fdt_get_reg_size() get wrong size Signed-off-by: Bowen Wang Signed-off-by: ligd --- drivers/devicetree/fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/devicetree/fdt.c b/drivers/devicetree/fdt.c index 059e18a219..923959d79a 100644 --- a/drivers/devicetree/fdt.c +++ b/drivers/devicetree/fdt.c @@ -325,7 +325,9 @@ size_t fdt_get_reg_size(FAR const void *fdt, int offset) reg = fdt_getprop(fdt, offset, "reg", NULL); if (reg != NULL) { - size = fdt_ld_by_cells(reg, fdt_get_parent_size_cells(fdt, offset)); + size = fdt_ld_by_cells((FAR fdt32_t *)reg + + fdt_get_parent_address_cells(fdt, offset), + fdt_get_parent_size_cells(fdt, offset)); } return size;