aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/cafe_nand.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/nand/cafe_nand.c')
-rw-r--r--drivers/mtd/nand/cafe_nand.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c
index 2973d97bd529..886ff3a064c2 100644
--- a/drivers/mtd/nand/cafe_nand.c
+++ b/drivers/mtd/nand/cafe_nand.c
@@ -383,6 +383,7 @@ static int cafe_nand_read_page(struct mtd_info *mtd, struct nand_chip *chip,
383 uint8_t *buf, int page) 383 uint8_t *buf, int page)
384{ 384{
385 struct cafe_priv *cafe = mtd->priv; 385 struct cafe_priv *cafe = mtd->priv;
386 unsigned int max_bitflips = 0;
386 387
387 cafe_dev_dbg(&cafe->pdev->dev, "ECC result %08x SYN1,2 %08x\n", 388 cafe_dev_dbg(&cafe->pdev->dev, "ECC result %08x SYN1,2 %08x\n",
388 cafe_readl(cafe, NAND_ECC_RESULT), 389 cafe_readl(cafe, NAND_ECC_RESULT),
@@ -449,10 +450,11 @@ static int cafe_nand_read_page(struct mtd_info *mtd, struct nand_chip *chip,
449 } else { 450 } else {
450 dev_dbg(&cafe->pdev->dev, "Corrected %d symbol errors\n", n); 451 dev_dbg(&cafe->pdev->dev, "Corrected %d symbol errors\n", n);
451 mtd->ecc_stats.corrected += n; 452 mtd->ecc_stats.corrected += n;
453 max_bitflips = max_t(unsigned int, max_bitflips, n);
452 } 454 }
453 } 455 }
454 456
455 return 0; 457 return max_bitflips;
456} 458}
457 459
458static struct nand_ecclayout cafe_oobinfo_2048 = { 460static struct nand_ecclayout cafe_oobinfo_2048 = {