mtd: core: fix nvmem error reporting
authorMichael Walle <michael@walle.cc>
Wed, 8 Mar 2023 08:20:19 +0000 (09:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:39 +0000 (23:03 +0900)
commit 8bd1d24e6ca3c599dd455b0e1b22f77bab8290eb upstream.

The master MTD will only have an associated device if
CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on
mtd->dev. Instead use the parent device which is the physical flash
memory.

Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support")
Cc: stable@vger.kernel.org
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-2-michael@walle.cc
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/mtdcore.c

index 23250ce..ff95999 100644 (file)
@@ -935,6 +935,7 @@ static int mtd_nvmem_fact_otp_reg_read(void *priv, unsigned int offset,
 
 static int mtd_otp_nvmem_add(struct mtd_info *mtd)
 {
+       struct device *dev = mtd->dev.parent;
        struct nvmem_device *nvmem;
        ssize_t size;
        int err;
@@ -948,7 +949,7 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
                        nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size,
                                                       mtd_nvmem_user_otp_reg_read);
                        if (IS_ERR(nvmem)) {
-                               dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
+                               dev_err(dev, "Failed to register OTP NVMEM device\n");
                                return PTR_ERR(nvmem);
                        }
                        mtd->otp_user_nvmem = nvmem;
@@ -966,7 +967,7 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
                        nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size,
                                                       mtd_nvmem_fact_otp_reg_read);
                        if (IS_ERR(nvmem)) {
-                               dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
+                               dev_err(dev, "Failed to register OTP NVMEM device\n");
                                err = PTR_ERR(nvmem);
                                goto err;
                        }