From: Baruch Siach <baruch@tkos.co.il>
Date: Mon, 9 Aug 2010 04:20:23 +0000 (+0300)
Subject: mtd: fix callback return value check
X-Git-Tag: firefly_0821_release~7613^2~3545^2~82
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=12c8eb98de747ebc08404e3719c40abb405994e2;p=firefly-linux-kernel-4.4.55.git

mtd: fix callback return value check

Drivers may (and do) return negative errno values other than -1 from the
ecc.correct callback.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
---

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index d551ddd9537a..0fd22cce0ecc 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -1223,7 +1223,7 @@ static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip, uint3
 		int stat;
 
 		stat = chip->ecc.correct(mtd, p, &chip->buffers->ecccode[i], &chip->buffers->ecccalc[i]);
-		if (stat == -1)
+		if (stat < 0)
 			mtd->ecc_stats.failed++;
 		else
 			mtd->ecc_stats.corrected += stat;