提交 2fd32d4a 编写于 作者: K Kyungmin Park 提交者: Artem Bityutskiy

[MTD] OneNAND: fix onenand_wait bug in read ecc error

Even though there is ECC error. OneNAND driver updates the buffram as valid
Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
上级 61a7e198
......@@ -298,7 +298,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
unsigned long timeout;
unsigned int flags = ONENAND_INT_MASTER;
unsigned int interrupt = 0;
unsigned int ctrl, ecc;
unsigned int ctrl;
/* The 20 msec is enough */
timeout = jiffies + msecs_to_jiffies(20);
......@@ -324,7 +324,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
}
if (interrupt & ONENAND_INT_READ) {
ecc = this->read_word(this->base + ONENAND_REG_ECC_STATUS);
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)
......@@ -332,6 +332,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
else if (ecc & ONENAND_ECC_1BIT_ALL)
mtd->ecc_stats.corrected++;
}
return ecc;
}
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册