diff options
| author | Christian Marangi | 2025-11-20 22:40:00 +0000 |
|---|---|---|
| committer | Christian Marangi | 2025-11-20 22:42:12 +0000 |
| commit | 91a9fb746045e5a175948154784e4a21c2a36ed1 (patch) | |
| tree | 13547b13ca294ee08fe3f574e48101191a469341 | |
| parent | d21262edcfa22f468ca3ac94e8cdab3d411f0916 (diff) | |
| download | openwrt-91a9fb746045e5a175948154784e4a21c2a36ed1.tar.gz | |
Revert "kernel: mtdsplit_minor: return 0 if not fatal"
This reverts commit ade045084bd3f86969eaf0b35234aaa01e430fe1.
Skipping parser for subpartition will be handled now with -ENOENT.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
| -rw-r--r-- | target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c index 053cba6272..f16a00e00e 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c @@ -63,44 +63,30 @@ static int mtdsplit_parse_minor(struct mtd_info *master, hdr_len = sizeof(hdr); err = mtd_read(master, 0, hdr_len, &retlen, (void *) &hdr); - if (err) { - pr_err("MiNOR mtd_read error: %d\n", err); + if (err) return err; - } - if (retlen != hdr_len) { - pr_err("MiNOR mtd_read too short\n"); + if (retlen != hdr_len) return -EIO; - } /* match header */ - if (hdr.yaffs_type != YAFFS_OBJECT_TYPE_FILE) { - pr_info("MiNOR YAFFS first type not matched\n"); - return 0; - } + if (hdr.yaffs_type != YAFFS_OBJECT_TYPE_FILE) + return -EINVAL; - if (hdr.yaffs_obj_id != YAFFS_OBJECTID_ROOT) { - pr_info("MiNOR YAFFS first objectid not matched\n"); - return 0; - } + if (hdr.yaffs_obj_id != YAFFS_OBJECTID_ROOT) + return -EINVAL; - if (hdr.yaffs_sum_unused != YAFFS_SUM_UNUSED) { - pr_info("MiNOR YAFFS first sum not matched\n"); - return 0; - } + if (hdr.yaffs_sum_unused != YAFFS_SUM_UNUSED) + return -EINVAL; if ((memcmp(hdr.yaffs_name, YAFFS_NAME_KERNEL, sizeof(YAFFS_NAME_KERNEL))) && - (memcmp(hdr.yaffs_name, YAFFS_NAME_BOOTIMAGE, sizeof(YAFFS_NAME_BOOTIMAGE)))) { - pr_info("MiNOR YAFFS first name not matched\n"); - return 0; - } + (memcmp(hdr.yaffs_name, YAFFS_NAME_BOOTIMAGE, sizeof(YAFFS_NAME_BOOTIMAGE)))) + return -EINVAL; err = mtd_find_rootfs_from(master, master->erasesize, master->size, &rootfs_offset, NULL); - if (err) { - pr_info("MiNOR mtd_find_rootfs_from error: %d\n", err); - return 0; - } + if (err) + return err; parts = kzalloc(MINOR_NR_PARTS * sizeof(*parts), GFP_KERNEL); if (!parts) |