[MTD] ofpart: Check name property to determine partition nodes.
authorBenjamin Krill <ben@codiert.org>
Fri, 23 Jan 2009 16:18:05 +0000 (17:18 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 24 Mar 2009 14:04:20 +0000 (14:04 +0000)
SLOF has a further node which could not be evaluated
by the current routine. The current routine returns
because the node hasn't the required reg property. As
fix this patch adds a check to determine the partition
child nodes. If the node is not a partition the number
of total partitions will be decreased and loop continues
with the next nodes.

Signed-off-by: Benjamin Krill <ben@codiert.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/ofpart.c

index 9e45b3f39c0e7e6cf4f4417f874376e5bfdda9df..3e164f0c9295c7bc779b0b0c72c798f76176c09e 100644 (file)
@@ -46,6 +46,13 @@ int __devinit of_mtd_parse_partitions(struct device *dev,
                const u32 *reg;
                int len;
 
+               /* check if this is a partition node */
+               partname = of_get_property(pp, "name", &len);
+               if (strcmp(partname, "partition") != 0) {
+                       nr_parts--;
+                       continue;
+               }
+
                reg = of_get_property(pp, "reg", &len);
                if (!reg || (len != 2 * sizeof(u32))) {
                        of_node_put(pp);