From: Hua Yanghao Date: Sun, 21 Dec 2014 20:45:59 +0000 (+0800) Subject: cmd_fdt: fix working_fdt is set to wrong value X-Git-Tag: v2015.01~55 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=90bac29a76bc8d649b41a55f2786c0abef9bb2c1;p=oweals%2Fu-boot.git cmd_fdt: fix working_fdt is set to wrong value Instead of setting working_fdt to map_sysmem(addr) (e.g. blob), it should be set to addr directly as inside set_working_fdt_addr it uses map_sysmem(addr) again. To test: ./u-boot -d dts/dt.bin , then issue: fdt addr 0x100, fdt print will then cause an segmentation fault. After this fix fdt print is functional. --- diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index 25b4675744..dc59fab828 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -123,7 +123,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (control) gd->fdt_blob = blob; else - set_working_fdt_addr(blob); + set_working_fdt_addr((void *)blob); if (argc >= 2) { int len;