mtd: parsers: ofpart: fix parsing subpartitions
authorRafał Miłecki <rafal@milecki.pl>
Sat, 8 May 2021 17:32:14 +0000 (19:32 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 10 May 2021 16:34:30 +0000 (18:34 +0200)
commit562b4e91d3b221f737f84ff78ee7d348c8a6891f
treefd0099885f4e8a0ba88a4bc864c29984638fa795
parent3d227a0b0ce319edbff6fd0d8af4d66689e477cc
mtd: parsers: ofpart: fix parsing subpartitions

ofpart was recently patched to not scan random partition nodes as
subpartitions. That change unfortunately broke scanning valid
subpartitions like:

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
compatible = "fixed-partitions";
label = "bootloader";
reg = <0x0 0x100000>;

partition@0 {
label = "config";
reg = <0x80000 0x80000>;
};
};
};

Fix that regression by adding 1 more code path. We actually need 3
conditional blocks to support 3 possible cases. This change also makes
code easier to understand & follow.

Reported-by: David Bauer <mail@david-bauer.net>
Fixes: 2d751203aacf ("mtd: parsers: ofpart: limit parsing of deprecated DT syntax
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Andrew Cameron <apcameron@softhome.net>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210508173214.28365-1-zajec5@gmail.com
drivers/mtd/parsers/ofpart_core.c