mtd: mtdpart: fix add_mtd_partitions error path
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / mtdpart.c
index cafdb8855a794f93f2adf56ca917fcb7a283e9df..919a936abc423f95d9f74e82ca22b9683402356f 100644 (file)
@@ -664,8 +664,10 @@ int add_mtd_partitions(struct mtd_info *master,
 
        for (i = 0; i < nbparts; i++) {
                slave = allocate_partition(master, parts + i, i, cur_offset);
-               if (IS_ERR(slave))
+               if (IS_ERR(slave)) {
+                       del_mtd_partitions(master);
                        return PTR_ERR(slave);
+               }
 
                mutex_lock(&mtd_partitions_mutex);
                list_add(&slave->list, &mtd_partitions);