summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/onenand
diff options
context:
space:
mode:
authorKyungmin Park <kyungmin.park@samsung.com>2007-01-05 19:16:04 +0900
committerArtem Bityutskiy <dedekind@infradead.org>2007-01-10 15:04:28 +0200
commitb3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122 (patch)
treef7bf81deb2acef1ec68458fbbac6ff0c7999e4d0 /drivers/mtd/onenand
parenta8de85d557004d6d4e4cf79ecd6b97339b986fe9 (diff)
downloadkernel-crypto-b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122.tar.gz
kernel-crypto-b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122.tar.xz
kernel-crypto-b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122.zip
[MTD] OneNAND: return ecc error code only when 2-bit ecc occurs
we don't need to return ecc error when 1-bit ecc. We only return error code when 2-bit ecc error Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/mtd/onenand')
-rw-r--r--drivers/mtd/onenand/onenand_base.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index abbe160b430..2ea07f5723d 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -327,12 +327,12 @@ static int onenand_wait(struct mtd_info *mtd, int state)
int ecc = this->read_word(this->base + ONENAND_REG_ECC_STATUS);
if (ecc) {
DEBUG(MTD_DEBUG_LEVEL0, "onenand_wait: ECC error = 0x%04x\n", ecc);
- if (ecc & ONENAND_ECC_2BIT_ALL)
+ if (ecc & ONENAND_ECC_2BIT_ALL) {
mtd->ecc_stats.failed++;
- else if (ecc & ONENAND_ECC_1BIT_ALL)
+ return ecc;
+ } else if (ecc & ONENAND_ECC_1BIT_ALL)
mtd->ecc_stats.corrected++;
}
- return ecc;
}
return 0;