]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/mtd/mtdpart.c
mtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN
[karo-tx-uboot.git] / drivers / mtd / mtdpart.c
index 9dfe7bbc9a9244dbb7e56f328b3046d2d2c3fbe0..146ce11eb1bafcfbb8f0add516c5675d0f166bc7 100644 (file)
@@ -53,12 +53,12 @@ static int part_read(struct mtd_info *mtd, loff_t from, size_t len,
 
        stats = part->master->ecc_stats;
        res = mtd_read(part->master, from + part->offset, len, retlen, buf);
-       if (unlikely(res)) {
-               if (mtd_is_bitflip(res))
-                       mtd->ecc_stats.corrected += part->master->ecc_stats.corrected - stats.corrected;
-               if (mtd_is_eccerr(res))
-                       mtd->ecc_stats.failed += part->master->ecc_stats.failed - stats.failed;
-       }
+       if (unlikely(mtd_is_eccerr(res)))
+               mtd->ecc_stats.failed +=
+                       part->master->ecc_stats.failed - stats.failed;
+       else
+               mtd->ecc_stats.corrected +=
+                       part->master->ecc_stats.corrected - stats.corrected;
        return res;
 }