[PATCH 8/8] ubi: Relax the 'no MLC' rule and allow MLCs operating in SLC mode

Richard Weinberger richard at nod.at
Wed Jan 8 15:50:33 PST 2020


----- Ursprüngliche Mail -----
> Von: "Miquel Raynal" <miquel.raynal at bootlin.com>
> An: "richard" <richard at nod.at>, "Vignesh Raghavendra" <vigneshr at ti.com>, "Tudor Ambarus" <Tudor.Ambarus at microchip.com>,
> "linux-mtd" <linux-mtd at lists.infradead.org>
> CC: "Boris Brezillon" <boris.brezillon at collabora.com>, "Thomas Petazzoni" <thomas.petazzoni at bootlin.com>, "Boris
> Brezillon" <boris.brezillon at bootlin.com>, "Miquel Raynal" <miquel.raynal at bootlin.com>
> Gesendet: Montag, 30. Dezember 2019 17:51:29
> Betreff: [PATCH 8/8] ubi: Relax the 'no MLC' rule and allow MLCs operating in SLC mode

> From: Boris Brezillon <boris.brezillon at bootlin.com>
> 
> The MTD layer provides an SLC mode (purely software emulation of SLC
> behavior) addressing the paired-pages corruption issue, which was the
> main reason for refusing attaching MLC NANDs to UBI.
> 
> Relax this rule and allow partitions that have the MTD_MLC_IN_SLC_MODE
> flag set to be attached.
> 
> Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> ---
> drivers/mtd/ubi/build.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index d636bbe214cb..d917cc4cd937 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -846,8 +846,11 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
> 	 * Both UBI and UBIFS have been designed for SLC NAND and NOR flashes.
> 	 * MLC NAND is different and needs special care, otherwise UBI or UBIFS
> 	 * will die soon and you will lose all your data.
> +	 * Relax this rule if the partition we're attaching to operates in SLC
> +	 * mode.
> 	 */
> -	if (mtd->type == MTD_MLCNANDFLASH) {
> +	if (mtd->type == MTD_MLCNANDFLASH &&
> +	    !(mtd->flags & MTD_MLC_IN_SLC_MODE)) {
> 		pr_err("ubi: refuse attaching mtd%d - MLC NAND is not supported\n",
> 			mtd->index);
> 		return -EINVAL;

Acked-by: Richard Weinberger <richard at nod.at>

Thanks,
//richard



More information about the linux-mtd mailing list