Packed structure cfi_qry contains unaligned 16- and 32-bits members, accessing which causes problems when cfi_flash driver is compiled with -munaligned-access option: flash initialization hangs, probably due to data error.
Since fixing the code to use some other way of accessing those fields seems quite expensive, just force the compiler to use -mno-unaligned-access. Signed-off-by: Andrew Gabbasov <andrew_gabba...@mentor.com> --- drivers/mtd/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile index 543c845..a120f0b 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile @@ -46,6 +46,9 @@ all: $(LIB) $(LIB): $(obj).depend $(OBJS) $(call cmd_link_o_target, $(OBJS)) +# SEE README.arm-unaligned-accesses +$(obj)cfi_flash.o: CFLAGS += $(PLATFORM_NO_UNALIGNED) + ######################################################################### # defines $(obj).depend target -- 1.7.10.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot