brcm63xx: add linux 4.4 support
[openwrt.git] / target / linux / brcm63xx / patches-4.4 / 803-jffs2-work-around-unaligned-accesses-failing-on-bcm6.patch
diff --git a/target/linux/brcm63xx/patches-4.4/803-jffs2-work-around-unaligned-accesses-failing-on-bcm6.patch b/target/linux/brcm63xx/patches-4.4/803-jffs2-work-around-unaligned-accesses-failing-on-bcm6.patch
new file mode 100644 (file)
index 0000000..8b603e8
--- /dev/null
@@ -0,0 +1,26 @@
+From ff3409ab17d56450943364ba49a16960e3cdda9b Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 6 Apr 2014 22:33:16 +0200
+Subject: [RFC] jffs2: work around unaligned accesses failing on bcm63xx/smp
+
+Unligned memcpy_fromio randomly fails with an unaligned dst. Work around
+it by ensuring we are always doing aligned copies.
+
+Should fix filename corruption in jffs2 with SMP.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ fs/jffs2/nodelist.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/jffs2/nodelist.h
++++ b/fs/jffs2/nodelist.h
+@@ -255,7 +255,7 @@ struct jffs2_full_dirent
+       uint32_t ino; /* == zero for unlink */
+       unsigned int nhash;
+       unsigned char type;
+-      unsigned char name[0];
++      unsigned char name[0] __attribute__((aligned((sizeof(long)))));
+ };
+ /*