1 --- a/drivers/mtd/mtdpart.c
2 +++ b/drivers/mtd/mtdpart.c
3 @@ -796,8 +796,11 @@ static void split_uimage(struct mtd_info
16 @@ -807,7 +810,11 @@ static void split_uimage(struct mtd_info
17 if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
20 - len = be32_to_cpu(hdr.size) + 0x40;
21 + if (hdr.kern_size != 0 && hdr.name[0] == 0)
22 + len = be32_to_cpu(hdr.kern_size);
24 + len = be32_to_cpu(hdr.size) + 0x40;
26 __mtd_add_partition(master, "rootfs", part->offset + len,
27 part->mtd.size - len, false);