1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux/generic/files/drivers/mtd/mtdsplit
Markus Stockhausen c78765213e kernel: mtdsplit_uimage: return 0 if not fatal
Introduced with Linux 6.7, in commit:
5c2f7727d437 ("mtd: mtdpart: check for subpartitions parsing result"),
when a parser returns an error, this will be passed up, and
consequently, all parent mtd partitions get torn down.

Adjust the mtdsplit_uimage driver to only return an error if there is a
critical problem in reading from the mtd device or allocating memory.
Otherwise return 0 to indicate that no partitions were found.
Also add logging to indicate what went wrong.

E.g. on Realtek devices that are booted for the first time through
initramfs with OpenWrt never installed before boot log will show

[    0.932985] Creating 8 MTD partitions on "spi0.0":
[    0.938412] 0x000000000000-0x000000080000 : "u-boot"
[    0.990151] 0x000000080000-0x0000000c0000 : "u-boot-env"
[    0.999907] 0x0000000c0000-0x000000100000 : "board-name"
[    1.019971] 0x000000100000-0x000000e80000 : "firmware"
[    1.051582] mtdsplit_uimage: no uImage found in "firmware"
[    1.069365] 0x000000e80000-0x000001000000 : "kernel2"
[    1.078959] 0x000001000000-0x000001040000 : "sysinfo"
[    1.099747] 0x000001040000-0x000001c40000 : "rootfs2"
[    1.119865] 0x000001c40000-0x000002000000 : "jffs2"

Similar issue was fixed before with commit ade045084b
("kernel: mtdsplit_minor: return 0 if not fatal")

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19016
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-04 12:50:12 +02:00
..
Kconfig kernel: add seil-fw mtdsplit driver for IIJ SEIL devices 2023-10-31 14:02:01 +01:00
Makefile kernel: add seil-fw mtdsplit driver for IIJ SEIL devices 2023-10-31 14:02:01 +01:00
mtdsplit.c treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
mtdsplit.h treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
mtdsplit_bcm63xx.c kernel: mtdsplit: add support for BCM63XX CFE firmware 2021-02-22 18:09:03 +01:00
mtdsplit_bcm_wfi.c kernel: mtd: bcm-wfi: add cferam name support 2023-06-14 23:21:34 +02:00
mtdsplit_brnimage.c kernel: update mtdsplit for linux 4.9 2017-02-03 12:35:44 +01:00
mtdsplit_cfe_bootfs.c kernel: create bootfs partition when parsing on BCM4908 2021-03-24 18:22:37 +01:00
mtdsplit_elf.c kernel: mtdsplit: support ELF loader splitting 2020-09-09 20:41:50 +03:00
mtdsplit_eva.c kernel: Add missing includes mtdsplit_*.c 2019-07-07 17:37:26 +02:00
mtdsplit_fit.c kernel: mtdsplit: fix fit rootfs_data split 2024-07-07 20:58:56 +08:00
mtdsplit_h3c_vfs.c kernel: mtdsplit: add support for H3C VFS filesystem 2022-07-28 14:08:56 +02:00
mtdsplit_jimage.c treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
mtdsplit_lzma.c generic: mtdsplit: include appropriate header for kernel 6.12 2025-04-30 16:26:46 +02:00
mtdsplit_minor.c kernel: mtdsplit_minor: accept bootimage filename 2024-10-30 11:15:34 +01:00
mtdsplit_seama.c kernel: Add missing includes mtdsplit_*.c 2019-07-07 17:37:26 +02:00
mtdsplit_seil.c kernel: add seil-fw mtdsplit driver for IIJ SEIL devices 2023-10-31 14:02:01 +01:00
mtdsplit_squashfs.c kernel: rename mtdpart_get_master to mtd_get_master 2020-11-13 13:16:51 +01:00
mtdsplit_tplink.c kernel: Add missing includes mtdsplit_*.c 2019-07-07 17:37:26 +02:00
mtdsplit_trx.c kernel: Add missing includes mtdsplit_*.c 2019-07-07 17:37:26 +02:00
mtdsplit_uimage.c kernel: mtdsplit_uimage: return 0 if not fatal 2025-06-04 12:50:12 +02:00
mtdsplit_wrgg.c kernel: Add missing includes mtdsplit_*.c 2019-07-07 17:37:26 +02:00