diff --git a/fdtdump.c b/fdtdump.c index 0e7a265..6c9ad90 100644 --- a/fdtdump.c +++ b/fdtdump.c @@ -146,7 +146,8 @@ static void dump_blob(void *blob, bool debug) continue; } - die("** Unknown tag 0x%08"PRIx32"\n", tag); + fprintf(stderr, "%*s ** Unknown tag 0x%08"PRIx32"\n", depth * shift, "", tag); + break; } } diff --git a/libfdt/fdt_rw.c b/libfdt/fdt_rw.c index 90ea14e..7475caf 100644 --- a/libfdt/fdt_rw.c +++ b/libfdt/fdt_rw.c @@ -22,12 +22,6 @@ static int fdt_blocks_misordered_(const void *fdt, (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt))); } -static void fdt_downgrade_version(void *fdt) -{ - if (!can_assume(LATEST) && fdt_version(fdt) > FDT_LAST_SUPPORTED_VERSION) - fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION); -} - static int fdt_rw_probe_(void *fdt) { if (can_assume(VALID_DTB)) @@ -39,8 +33,9 @@ static int fdt_rw_probe_(void *fdt) if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry), fdt_size_dt_struct(fdt))) return -FDT_ERR_BADLAYOUT; + if (!can_assume(LATEST) && fdt_version(fdt) > 17) + fdt_set_version(fdt, 17); - fdt_downgrade_version(fdt); return 0; }