From: Matias Bjørling Date: Mon, 16 Nov 2015 14:34:41 +0000 (+0100) Subject: lightnvm: check for NAND flash and its type X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4264c980e3e9bb904b7f41dc9c64786cc5466bee;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git lightnvm: check for NAND flash and its type Only NAND flash with SLC and MLC is supported. Make sure to not try to initialize TLC memory or other non-volatile memory types. Signed-off-by: Matias Bjørling Signed-off-by: Jens Axboe --- diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index f659e605a406..0985a032debc 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c @@ -185,6 +185,16 @@ static int nvm_core_init(struct nvm_dev *dev) dev->plane_mode = NVM_PLANE_SINGLE; dev->max_rq_size = dev->ops->max_phys_sect * dev->sec_size; + if (grp->mtype != 0) { + pr_err("nvm: memory type not supported\n"); + return -EINVAL; + } + + if (grp->fmtype != 0 && grp->fmtype != 1) { + pr_err("nvm: flash type not supported\n"); + return -EINVAL; + } + if (grp->mpos & 0x020202) dev->plane_mode = NVM_PLANE_DOUBLE; if (grp->mpos & 0x040404)