On Mon, 20 Nov 2017 11:26:26 +0800 Albert Hsieh <wen.hs...@broadcom.com> wrote:
> A negative return value of brcmstb_nand_verify_erased_page() indicates a > real bitflip error of an erased page, and other return values (>= 0) show > the corrected bitflip number. Zero return value means no bitflip, but the > current driver code treats it as an error, and eventually leads to > falsely reported ECC error. > > Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflip") > Signed-off-by: Albert Hsieh <wen.hs...@broadcom.com> Acked-by: Boris Brezillon <boris.brezil...@free-electrons.com> Cc: <sta...@vger.kernel.org> Richard, can you queue this patch to the mtd/master branch? Thanks, Boris > --- > drivers/mtd/nand/brcmnand/brcmnand.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c > b/drivers/mtd/nand/brcmnand/brcmnand.c > index e0eb51d..dd56a67 100644 > --- a/drivers/mtd/nand/brcmnand/brcmnand.c > +++ b/drivers/mtd/nand/brcmnand/brcmnand.c > @@ -1763,7 +1763,7 @@ static int brcmnand_read(struct mtd_info *mtd, struct > nand_chip *chip, > err = brcmstb_nand_verify_erased_page(mtd, chip, buf, > addr); > /* erased page bitflips corrected */ > - if (err > 0) > + if (err >= 0) > return err; > } >