浏览代码

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.
Hua Yanghao 10 年之前
父节点
当前提交
90bac29a76
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      common/cmd_fdt.c

+ 1 - 1
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;