From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Cc: Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
Boris Brezillon <boris.brezillon@collabora.com>,
Alban Bedel <albeu@free.fr>,
Ricardo Ribalda Delgado <ribalda@kernel.org>
Subject: Re: [PATCH] mtd: Fix mtd not registered due to nvmem name collision
Date: Mon, 4 May 2020 10:43:39 +0200 [thread overview]
Message-ID: <20200504104339.31b4a858@xps13> (raw)
In-Reply-To: <20200430131721.360064-1-ricardo@ribalda.com>
Hi Richard,
Ricardo Ribalda Delgado <ricardo@ribalda.com> wrote on Thu, 30 Apr 2020
15:17:21 +0200:
> From: Ricardo Ribalda Delgado <ribalda@kernel.org>
>
> When the nvmem framework is enabled, a nvmem device is created per mtd
> device/partition.
>
> It is not uncommon that a device can have multiple mtd devices with
> partitions that have the same name. Eg, when there DT overlay is allowed
> and the same device with mtd is attached twice.
>
> Under that circumstances, the mtd fails to register due to a name
> duplication on the nvmem framework.
>
> With this patch we use the mtdX name instead of the partition name,
> which is unique.
>
> [ 8.948991] sysfs: cannot create duplicate filename '/bus/nvmem/devices/Production Data'
> [ 8.948992] CPU: 7 PID: 246 Comm: systemd-udevd Not tainted 5.5.0-qtec-standard #13
> [ 8.948993] Hardware name: AMD Dibbler/Dibbler, BIOS 05.22.04.0019 10/26/2019
> [ 8.948994] Call Trace:
> [ 8.948996] dump_stack+0x50/0x70
> [ 8.948998] sysfs_warn_dup.cold+0x17/0x2d
> [ 8.949000] sysfs_do_create_link_sd.isra.0+0xc2/0xd0
> [ 8.949002] bus_add_device+0x74/0x140
> [ 8.949004] device_add+0x34b/0x850
> [ 8.949006] nvmem_register.part.0+0x1bf/0x640
> ...
> [ 8.948926] mtd mtd8: Failed to register NVMEM device
>
> Fixes: c4dfa25ab307 ("mtd: add support for reading MTD devices via the nvmem API")
> Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
> ---
> drivers/mtd/mtdcore.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> index 2916674208b3..29d41003d6e0 100644
> --- a/drivers/mtd/mtdcore.c
> +++ b/drivers/mtd/mtdcore.c
> @@ -555,7 +555,7 @@ static int mtd_nvmem_add(struct mtd_info *mtd)
>
> config.id = -1;
> config.dev = &mtd->dev;
> - config.name = mtd->name;
> + config.name = dev_name(&mtd->dev);
> config.owner = THIS_MODULE;
> config.reg_read = mtd_nvmem_reg_read;
> config.size = mtd->size;
We hope this will definitely fix the NVMEM duplicate name issue. If it
does not reliably, we might want to revert this patch and create an MTD
unique ID field which, for each MTD device, concatenates the name of
its parent and its own mtd->name.
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
Thanks,
Miquèl
next prev parent reply other threads:[~2020-05-04 8:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-30 13:17 [PATCH] mtd: Fix mtd not registered due to nvmem name collision Ricardo Ribalda Delgado
2020-05-04 8:43 ` Miquel Raynal [this message]
2020-05-18 14:01 ` Ricardo Ribalda Delgado
2020-05-18 19:56 ` Miquel Raynal
2020-05-18 20:51 ` Richard Weinberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200504104339.31b4a858@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=albeu@free.fr \
--cc=boris.brezillon@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=ribalda@kernel.org \
--cc=ricardo@ribalda.com \
--cc=richard@nod.at \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox