diff options
Diffstat (limited to 'target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch')
-rw-r--r-- | target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch b/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch new file mode 100644 index 0000000000..c3012fb933 --- /dev/null +++ b/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch @@ -0,0 +1,27 @@ +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c +@@ -809,8 +809,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; + +@@ -820,7 +823,10 @@ 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; + + if (config_enabled(CONFIG_MTD_SPLIT_UIMAGE_FW)) + pr_err("Dedicated partitioner didn't split firmware partition, please fill a bug report!\n"); |