[PATCH v4 1/3] mtd: mtdpart: Make ECC stat handling consistent
Robert Jarzmik
robert.jarzmik at free.fr
Wed Jan 10 12:27:34 PST 2018
Boris Brezillon <boris.brezillon at free-electrons.com> writes:
> part_read() and part_read_oob() where counting ECC failures and
Typo: s/where/were.
> diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
> index be088bccd593..283e8526713b 100644
> --- a/drivers/mtd/mtdpart.c
> +++ b/drivers/mtd/mtdpart.c
> @@ -105,6 +105,7 @@ static int part_read_oob(struct mtd_info *mtd, loff_t from,
> struct mtd_oob_ops *ops)
> {
> struct mtd_part *part = mtd_to_part(mtd);
> + struct mtd_ecc_stats stats;
> int res;
>
> if (from >= mtd->size)
> @@ -127,12 +128,12 @@ static int part_read_oob(struct mtd_info *mtd, loff_t from,
> }
>
> res = part->parent->_read_oob(part->parent, from + part->offset, ops);
> - if (unlikely(res)) {
> - if (mtd_is_bitflip(res))
> - mtd->ecc_stats.corrected++;
> - if (mtd_is_eccerr(res))
> - mtd->ecc_stats.failed++;
> - }
> + if (unlikely(mtd_is_eccerr(res)))
> + mtd->ecc_stats.failed +=
> + part->parent->ecc_stats.failed - stats.failed;
stats is used uninitialized, but I suppose you've already caught that.
Cheers.
--
Robert
More information about the linux-mtd
mailing list