ralink: add 3.14 support
[openwrt/svn-archive/archive.git] / target / linux / ramips / patches-3.14 / 0101-mtd-add-rtn56u-support.patch
diff --git a/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch b/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
new file mode 100644 (file)
index 0000000..f48c7cb
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/drivers/mtd/mtdpart.c
++++ b/drivers/mtd/mtdpart.c
+@@ -793,8 +793,11 @@ static void split_uimage(struct mtd_info
+ {
+       struct {
+               __be32 magic;
+-              __be32 pad[2];
++              __be32 pad0[2];
+               __be32 size;
++              __be32 pad1[4];
++              __be32 name[7];
++              __be32 kern_size;
+       } hdr;
+       size_t len;
+@@ -804,7 +807,11 @@ static void split_uimage(struct mtd_info
+       if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
+               return;
+-      len = be32_to_cpu(hdr.size) + 0x40;
++      if (hdr.kern_size != 0 && hdr.name[0] == 0)
++              len = be32_to_cpu(hdr.kern_size);
++      else
++              len = be32_to_cpu(hdr.size) + 0x40;
++
+       __mtd_add_partition(master, "rootfs", part->offset + len,
+                           part->mtd.size - len, false);
+ }