diff --git a/cmd/fdt.c b/cmd/fdt.c index 8e51a43126..0e94bf30ee 100644 --- a/cmd/fdt.c +++ b/cmd/fdt.c @@ -18,6 +18,7 @@ #include #include #include +#include #define MAX_LEVEL 32 /* how deeply nested we will go */ #define SCRATCHPAD 1024 /* bytes of scratchpad memory */ @@ -802,7 +803,10 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len) cp = newp; tmp = simple_strtoul(cp, &newp, 0); if (*cp != '?') - *(fdt32_t *)data = cpu_to_fdt32(tmp); + { + tmp = cpu_to_fdt32(tmp); + put_unaligned(tmp, (fdt32_t *)data); + } else newp++;