kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV
authorINAGAKI Hiroshi <[email protected]>
Sat, 8 Nov 2025 05:35:30 +0000 (14:35 +0900)
committerHauke Mehrtens <[email protected]>
Sat, 8 Nov 2025 20:36:29 +0000 (21:36 +0100)
Return 0 if the current mtd is inactive or no valid header/rootfs found,
instead of -ENODEV.
Linux Kernel 6.7 and later versions handle all errors returned by mtd
parsers, including -ENODEV as error. So '0' needs to be returned if no
child partitions were not parsed.

Signed-off-by: INAGAKI Hiroshi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20697
Signed-off-by: Hauke Mehrtens <[email protected]>
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seil.c

index e58bb49b23fcb3e9abee69ee2874e7397aeffa8d..97bee9d268eefe871e289a4b54da3ca108f2186c 100644 (file)
@@ -112,7 +112,7 @@ static int mtdsplit_parse_seil_fw(struct mtd_info *master,
        u64 id;
 
        if (!seil_bootdev_is_active(np))
-               return -ENODEV;
+               return 0;
 
        ret = of_property_read_u64(np, "iij,seil-id", &id);
        if (ret) {
@@ -137,7 +137,7 @@ static int mtdsplit_parse_seil_fw(struct mtd_info *master,
        if (be64_to_cpu(header.id) != id ||
            be32_to_cpu(header.vfmt) != SEIL_VFMT) {
                pr_debug("no valid seil image found in \"%s\"\n", master->name);
-               ret = -ENODEV;
+               ret = 0;
                goto err_free_parts;
        }
 
@@ -154,7 +154,7 @@ static int mtdsplit_parse_seil_fw(struct mtd_info *master,
        if (ret || (master->size - rootfs_offset) == 0) {
                pr_debug("no rootfs after seil image in \"%s\"\n",
                         master->name);
-               ret = -ENODEV;
+               ret = 0;
                goto err_free_parts;
        }