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

Reply via email to