Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e88872ef authored by Albert Hsieh's avatar Albert Hsieh Committed by Greg Kroah-Hartman
Browse files

mtd: nand: brcmnand: Zero bitflip is not an error




[ Upstream commit e44b9a9c135727f3410e029910275f40681dc8bc ]

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: 02b88eea ("mtd: brcmnand: Add check for erased page bitflip")
Signed-off-by: default avatarAlbert Hsieh <wen.hsieh@broadcom.com>
Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent dd1e39f4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
		}