openwrtv3/target/linux/ramips/patches-4.3/0101-mtd-add-rtn56u-support.patch
Felix Fietkau c69ffda546 ramips: clean up and refresh kernel patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48070
2016-01-02 14:48:27 +00:00

27 lines
744 B
Diff

--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -780,8 +780,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;
@@ -791,7 +794,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");