Messages in this thread Patch in this message | | | Subject | [PATCH 1/1] v3.0.x: mtd: check partition count not partition array pointer | From | Anthony Foiani <> | Date | Wed, 07 Nov 2012 23:48:24 -0700 |
| |
mtd: check partition count not partition array pointer
The documentation claims that "nr_parts" is the determining factor, while the code originally tested whether "parts" is non-null.
In at least one driver (fsl_elbc_nand), parts is never initialized to 0; even though nr_parts is correctly 0, add_mtd_partitions still tries to create 0 partitions.)
Make the code adhere to the documentation.
A quick scan of all uses in the 3.0.51 kernel show that they correctly rely on nr_parts rather than parts.
The current kernel has retired this function; I have not examined its replacement to see if it has the same issue.
Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com> --- 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 c510aff..ac624df 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -446,7 +446,7 @@ int mtd_device_register(struct mtd_info *master, const struct mtd_partition *parts, int nr_parts) { - return parts ? add_mtd_partitions(master, parts, nr_parts) : + return nr_parts ? add_mtd_partitions(master, parts, nr_parts) : add_mtd_device(master); } EXPORT_SYMBOL_GPL(mtd_device_register); -- 1.7.11.7
| |