From 27fac9c08f89ac2bf9556afefe8f98a7387fed9e Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 30 Apr 2022 14:24:41 +0100 Subject: [PATCH] kernel: backport patch to relax mtdblock NAND warning Instead of warning loudly about mtdblock devices being created, rather just warn if they are actually used. Signed-off-by: Daniel Golle --- .../400-mtdblock-warn-if-opened-on-NAND.patch | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 target/linux/generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch diff --git a/target/linux/generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch b/target/linux/generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch new file mode 100644 index 0000000000..27c0e6c14b --- /dev/null +++ b/target/linux/generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch @@ -0,0 +1,82 @@ +From 96a3295c351da82d7af99b2fc004a3cf9f4716a9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= +Date: Mon, 28 Mar 2022 18:11:08 +0200 +Subject: [PATCH] mtdblock: warn if opened on NAND +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Warning on every translated mtd partition results in excessive log noise +if this driver is loaded: + + nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1 + nand: Macronix MX30LF1G18AC + nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 + mt7621-nand 1e003000.nand: ECC strength adjusted to 4 bits + read_bbt: found bbt at block 1023 + 10 fixed-partitions partitions found on MTD device mt7621-nand + Creating 10 MTD partitions on "mt7621-nand": + 0x000000000000-0x000000080000 : "Bootloader" + mtdblock: MTD device 'Bootloader' is NAND, please consider using UBI block devices instead. + 0x000000080000-0x000000100000 : "Config" + mtdblock: MTD device 'Config' is NAND, please consider using UBI block devices instead. + 0x000000100000-0x000000140000 : "Factory" + mtdblock: MTD device 'Factory' is NAND, please consider using UBI block devices instead. + 0x000000140000-0x000002000000 : "Kernel" + mtdblock: MTD device 'Kernel' is NAND, please consider using UBI block devices instead. + 0x000000540000-0x000002000000 : "ubi" + mtdblock: MTD device 'ubi' is NAND, please consider using UBI block devices instead. + 0x000002140000-0x000004000000 : "Kernel2" + mtdblock: MTD device 'Kernel2' is NAND, please consider using UBI block devices instead. + 0x000004000000-0x000004100000 : "wwan" + mtdblock: MTD device 'wwan' is NAND, please consider using UBI block devices instead. + 0x000004100000-0x000005100000 : "data" + mtdblock: MTD device 'data' is NAND, please consider using UBI block devices instead. + 0x000005100000-0x000005200000 : "rom-d" + mtdblock: MTD device 'rom-d' is NAND, please consider using UBI block devices instead. + 0x000005200000-0x000005280000 : "reserve" + mtdblock: MTD device 'reserve' is NAND, please consider using UBI block devices instead. + mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 21 + +This is more likely to annoy than to help users of embedded distros where +this driver is enabled by default. Making the blockdevs available does +not imply that they are in use, and warning about bootloader partitions +or other devices which obviously never will be mounted is more confusing +than helpful. + +Move the warning to open(), where it will be of more use - actually warning +anyone who mounts a file system on NAND using mtdblock. + +Fixes: e07403a8c6be ("mtdblock: Warn if added for a NAND device") +Signed-off-by: Bjørn Mork +Reviewed-by: Ezequiel Garcia +Signed-off-by: Miquel Raynal +Link: https://lore.kernel.org/linux-mtd/20220328161108.87757-1-bjorn@mork.no +--- + drivers/mtd/mtdblock.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/mtd/mtdblock.c ++++ b/drivers/mtd/mtdblock.c +@@ -257,6 +257,10 @@ static int mtdblock_open(struct mtd_blkt + return 0; + } + ++ if (mtd_type_is_nand(mbd->mtd)) ++ pr_warn("%s: MTD device '%s' is NAND, please consider using UBI block devices instead.\n", ++ mbd->tr->name, mbd->mtd->name); ++ + /* OK, it's not open. Create cache info for it */ + mtdblk->count = 1; + mutex_init(&mtdblk->cache_mutex); +@@ -322,10 +326,6 @@ static void mtdblock_add_mtd(struct mtd_ + if (!(mtd->flags & MTD_WRITEABLE)) + dev->mbd.readonly = 1; + +- if (mtd_type_is_nand(mtd)) +- pr_warn("%s: MTD device '%s' is NAND, please consider using UBI block devices instead.\n", +- tr->name, mtd->name); +- + if (add_mtd_blktrans_dev(&dev->mbd)) + kfree(dev); + } -- 2.30.2