split off because the relevant mtd changes seem particular to -mm Signed-off-by: Peter Zijlstra --- drivers/mtd/mtdcore.c | 9 +++++++++ 1 file changed, 9 insertions(+) Index: linux-2.6/drivers/mtd/mtdcore.c =================================================================== --- linux-2.6.orig/drivers/mtd/mtdcore.c +++ linux-2.6/drivers/mtd/mtdcore.c @@ -48,6 +48,7 @@ static LIST_HEAD(mtd_notifiers); int add_mtd_device(struct mtd_info *mtd) { int i; + int err; if (!mtd->backing_dev_info) { switch (mtd->type) { @@ -62,6 +63,9 @@ int add_mtd_device(struct mtd_info *mtd) break; } } + err = bdi_init(mtd->backing_dev_info); + if (err) + return 1; BUG_ON(mtd->writesize == 0); mutex_lock(&mtd_table_mutex); @@ -102,6 +106,7 @@ int add_mtd_device(struct mtd_info *mtd) } mutex_unlock(&mtd_table_mutex); + bdi_destroy(mtd->backing_dev_info); return 1; } @@ -144,6 +149,10 @@ int del_mtd_device (struct mtd_info *mtd } mutex_unlock(&mtd_table_mutex); + + if (mtd->backing_dev_info) + bdi_destroy(mtd->backing_dev_info); + return ret; } --