kernel: Correctly search for the FIT image in mtd partition.
[openwrt/openwrt.git] / target / linux / generic / files / drivers / mtd / mtdsplit / mtdsplit_fit.c
index f9e5e53a951b5d0dad19d6212ab56a85402471f0..d206fecd5b197454a79babfbf770644b54da0bde 100644 (file)
@@ -60,8 +60,8 @@ mtdsplit_fit_parse(struct mtd_info *mtd,
        hdr_len = sizeof(struct fdt_header);
 
        /* Parse the MTD device & search for the FIT image location */
-       for(offset = 0; offset < mtd->size; offset += mtd->erasesize) {
-               ret = mtd_read(mtd, 0, hdr_len, &retlen, (void*) &hdr);
+       for(offset = 0; offset + hdr_len < mtd->size; offset += mtd->erasesize) {
+               ret = mtd_read(mtd, offset, hdr_len, &retlen, (void*) &hdr);
                if (ret) {
                        pr_err("read error in \"%s\" at offset 0x%llx\n",
                               mtd->name, (unsigned long long) offset);