--- zzzz-none-000/linux-2.6.28.10/drivers/mtd/mtdpart.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/drivers/mtd/mtdpart.c 2010-03-24 07:28:06.000000000 +0000 @@ -207,6 +207,7 @@ { struct mtd_part *part = PART(mtd); int ret; + /*--- printk("[%s] line=%u \n", __FUNCTION__, __LINE__); ---*/ if (!(mtd->flags & MTD_WRITEABLE)) return -EROFS; if (instr->addr >= mtd->size) @@ -406,8 +407,8 @@ if (slave->mtd.size == MTDPART_SIZ_FULL) slave->mtd.size = master->size - slave->offset; - printk(KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", slave->offset, - slave->offset + slave->mtd.size, slave->mtd.name); + printk(KERN_NOTICE "0x%08x-0x%08x : \"%s\" (master-size:%d)\n", slave->offset, + slave->offset + slave->mtd.size, slave->mtd.name, master->size); /* let's do some sanity checks */ if (slave->offset >= master->size) { @@ -526,11 +527,13 @@ spin_lock(&part_parser_lock); - list_for_each_entry(p, &part_parsers, list) + list_for_each_entry(p, &part_parsers, list){ + /*--- printk("[%s] %s == %s \n", __FUNCTION__, p->name, name); ---*/ if (!strcmp(p->name, name) && try_module_get(p->owner)) { ret = p; break; } + } spin_unlock(&part_parser_lock); @@ -563,6 +566,7 @@ int ret = 0; for ( ; ret <= 0 && *types; types++) { +printk("[%s] types=%s\n", __FUNCTION__, *types); parser = get_partition_parser(*types); if (!parser && !request_module("%s", *types)) parser = get_partition_parser(*types);