diff options
author | Kyungmin Park <kyungmin.park@samsung.com> | 2007-01-05 05:16:04 -0500 |
---|---|---|
committer | Artem Bityutskiy <dedekind@infradead.org> | 2007-01-10 08:04:28 -0500 |
commit | b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122 (patch) | |
tree | f7bf81deb2acef1ec68458fbbac6ff0c7999e4d0 /drivers | |
parent | a8de85d557004d6d4e4cf79ecd6b97339b986fe9 (diff) |
[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')
-rw-r--r-- | drivers/mtd/onenand/onenand_base.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index abbe160b4309..2ea07f5723d1 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) | |||
327 | int ecc = this->read_word(this->base + ONENAND_REG_ECC_STATUS); | 327 | int ecc = this->read_word(this->base + ONENAND_REG_ECC_STATUS); |
328 | if (ecc) { | 328 | if (ecc) { |
329 | DEBUG(MTD_DEBUG_LEVEL0, "onenand_wait: ECC error = 0x%04x\n", ecc); | 329 | DEBUG(MTD_DEBUG_LEVEL0, "onenand_wait: ECC error = 0x%04x\n", ecc); |
330 | if (ecc & ONENAND_ECC_2BIT_ALL) | 330 | if (ecc & ONENAND_ECC_2BIT_ALL) { |
331 | mtd->ecc_stats.failed++; | 331 | mtd->ecc_stats.failed++; |
332 | else if (ecc & ONENAND_ECC_1BIT_ALL) | 332 | return ecc; |
333 | } else if (ecc & ONENAND_ECC_1BIT_ALL) | ||
333 | mtd->ecc_stats.corrected++; | 334 | mtd->ecc_stats.corrected++; |
334 | } | 335 | } |
335 | return ecc; | ||
336 | } | 336 | } |
337 | 337 | ||
338 | return 0; | 338 | return 0; |