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.foi...@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/