kernel: don't parse FIT partition on NAND-backed mtdblock
authorDaniel Golle <daniel@makrotopia.org>
Sat, 30 Apr 2022 14:14:01 +0000 (15:14 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 30 Apr 2022 15:00:05 +0000 (16:00 +0100)
ubiblock devices should be used on NAND flash to store the uImage.FIT
in case the bootloader supports that -- otherwise only rootfs is stored
in UBI while the uImage.FIT contains only the kernel and dtb.
Hence there is no need to enable parsing partitions on NAND mtdblock
devices, it is even responsible for the ugly warning on-opening of the
mtdblock device now. Just don't do it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
target/linux/generic/hack-5.15/410-block-fit-partition-parser.patch

index 5edacd5eae92e25d0863a1210c67bef8391fe568..7539bc86273e2be7afe5f50a2909d70e72a78d3e 100644 (file)
        dev->gd = gd;
 --- a/drivers/mtd/mtd_blkdevs.c
 +++ b/drivers/mtd/mtd_blkdevs.c
-@@ -345,6 +345,9 @@ int add_mtd_blktrans_dev(struct mtd_blkt
+@@ -345,6 +345,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt
        gd->first_minor = (new->devnum) << tr->part_bits;
        gd->minors = 1 << tr->part_bits;
        gd->fops = &mtd_block_ops;
-+#ifdef CONFIG_FIT_PARTITION
-+      gd->flags |= GENHD_FL_EXT_DEVT;
-+#endif
++      if (IS_ENABLED(CONFIG_FIT_PARTITION) && !mtd_type_is_nand(new->mtd))
++              gd->flags |= GENHD_FL_EXT_DEVT;
  
        if (tr->part_bits)
                if (new->devnum < 26)