[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161127162129.67bb8e00@bbrezillon>
Date: Sun, 27 Nov 2016 16:21:29 +0100
From: Boris Brezillon <boris.brezillon@...e-electrons.com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>
Cc: linux-mtd@...ts.infradead.org, linux-kernel@...r.kernel.org,
Marek Vasut <marek.vasut@...il.com>,
Brian Norris <computersforpeace@...il.com>,
Richard Weinberger <richard@....at>,
David Woodhouse <dwmw2@...radead.org>,
Cyrille Pitchen <cyrille.pitchen@...el.com>
Subject: Re: [PATCH 09/39] mtd: nand: denali: fix erased page check code
On Sun, 27 Nov 2016 03:05:55 +0900
Masahiro Yamada <yamada.masahiro@...ionext.com> wrote:
> Currently, is_erased() is called against "buf" twice, so the second
> call is meaningless. The second one should be checked against
> chip->oob_poi.
>
IMO, patch 9 to 12 should be squashed in a single patch. All you're
doing in these patch is fixing the check_erased_page logic.
You can describe the different broken thing in the commit message, but
splitting things as you do does not help much.
Also, please have at nand_check_erased_ecc_chunk() [1] instead of using
a private method (is_erased()) to check if the page is erased.
With this method you get bitflips in erased pages correction for free.
[1]http://lxr.free-electrons.com/source/drivers/mtd/nand/nand_base.c#L1212
> Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
> ---
>
> drivers/mtd/nand/denali.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
> index cbc7f75..753e9a02 100644
> --- a/drivers/mtd/nand/denali.c
> +++ b/drivers/mtd/nand/denali.c
> @@ -1160,7 +1160,7 @@ static int denali_read_page(struct mtd_info *mtd, struct nand_chip *chip,
> if (check_erased_page) {
> if (!is_erased(buf, mtd->writesize))
> mtd->ecc_stats.failed++;
> - if (!is_erased(buf, mtd->oobsize))
> + if (!is_erased(chip->oob_poi, mtd->oobsize))
> mtd->ecc_stats.failed++;
> }
> }
Powered by blists - more mailing lists