| From 9a2596a3f1638e9fb87b39d493c9abc0705bca8d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 20 May 2021 11:48:50 +0000 |
| Subject: mtd: partitions: redboot: seek fis-index-block in the right node |
| |
| From: Corentin Labbe <clabbe@baylibre.com> |
| |
| [ Upstream commit 237960880960863fb41888763d635b384cffb104 ] |
| |
| fis-index-block is seeked in the master node and not in the partitions node. |
| For following binding and current usage, the driver need to check the |
| partitions subnode. |
| |
| Fixes: c0e118c8a1a3 ("mtd: partitions: Add OF support to RedBoot partitions") |
| Signed-off-by: Corentin Labbe <clabbe@baylibre.com> |
| Reviewed-by: Linus Walleij <linus.walleij@linaro.org> |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Link: https://lore.kernel.org/linux-mtd/20210520114851.1274609-1-clabbe@baylibre.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mtd/parsers/redboot.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/mtd/parsers/redboot.c b/drivers/mtd/parsers/redboot.c |
| index 91146bdc4713..3ccd6363ee8c 100644 |
| --- a/drivers/mtd/parsers/redboot.c |
| +++ b/drivers/mtd/parsers/redboot.c |
| @@ -45,6 +45,7 @@ static inline int redboot_checksum(struct fis_image_desc *img) |
| static void parse_redboot_of(struct mtd_info *master) |
| { |
| struct device_node *np; |
| + struct device_node *npart; |
| u32 dirblock; |
| int ret; |
| |
| @@ -52,7 +53,11 @@ static void parse_redboot_of(struct mtd_info *master) |
| if (!np) |
| return; |
| |
| - ret = of_property_read_u32(np, "fis-index-block", &dirblock); |
| + npart = of_get_child_by_name(np, "partitions"); |
| + if (!npart) |
| + return; |
| + |
| + ret = of_property_read_u32(npart, "fis-index-block", &dirblock); |
| if (ret) |
| return; |
| |
| -- |
| 2.30.2 |
| |