mtd: mtdpart: add debug prints to partition parser.
authorMichal Suchanek <hramrach@gmail.com>
Tue, 18 Aug 2015 15:34:07 +0000 (15:34 +0000)
committerBrian Norris <computersforpeace@gmail.com>
Sun, 11 Oct 2015 19:58:28 +0000 (12:58 -0700)
The probe of a mtd device can fail when a partition parser returns
error. The failure due to partition parsing can be quite mysterious when
multiple partitioning schemes are compiled in and any of them can fail
the probe.

Add debug prints which show what parsers were tried and what they
returned.

Signed-off-by: Michal Suchanek <hramrach@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/mtdpart.c

index 919a936abc423f95d9f74e82ca22b9683402356f..f5279ea6dc871f42d34dc6f892f839a0928611f4 100644 (file)
@@ -761,12 +761,17 @@ int parse_mtd_partitions(struct mtd_info *master, const char *const *types,
                types = default_mtd_part_types;
 
        for ( ; ret <= 0 && *types; types++) {
+               pr_debug("%s: parsing partitions %s\n", master->name, *types);
                parser = get_partition_parser(*types);
                if (!parser && !request_module("%s", *types))
                        parser = get_partition_parser(*types);
+               pr_debug("%s: got parser %s\n", master->name,
+                        parser ? parser->name : NULL);
                if (!parser)
                        continue;
                ret = (*parser->parse_fn)(master, pparts, data);
+               pr_debug("%s: parser %s: %i\n",
+                        master->name, parser->name, ret);
                put_partition_parser(parser);
                if (ret > 0) {
                        printk(KERN_NOTICE "%d %s partitions found on MTD device %s\n",