rk: revert 20f3d0b+v3.0.66 to v3.0
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / ubi / scan.c
index 0b49eadebc3616a810c27b865ad6e77508998660..2135a53732ffce0dc0b4b7806637449f7ddec1f6 100644 (file)
@@ -1174,7 +1174,7 @@ struct ubi_scan_info *ubi_scan(struct ubi_device *ubi)
 
        ech = kzalloc(ubi->ec_hdr_alsize, GFP_KERNEL);
        if (!ech)
-               goto out_si;
+               goto out_slab;
 
        vidh = ubi_zalloc_vid_hdr(ubi, GFP_KERNEL);
        if (!vidh)
@@ -1235,6 +1235,8 @@ out_vidh:
        ubi_free_vid_hdr(ubi, vidh);
 out_ech:
        kfree(ech);
+out_slab:
+       kmem_cache_destroy(si->scan_leb_slab);
 out_si:
        ubi_scan_destroy_si(si);
        return ERR_PTR(err);
@@ -1323,9 +1325,7 @@ void ubi_scan_destroy_si(struct ubi_scan_info *si)
                }
        }
 
-       if (si->scan_leb_slab)
-               kmem_cache_destroy(si->scan_leb_slab);
-
+       kmem_cache_destroy(si->scan_leb_slab);
        kfree(si);
 }