|
@@ -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;
|