mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 10:11:36 +00:00
[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: Kyungmin Park <kyungmin.park@samsung.com>
This commit is contained in:
parent
61a7e1983e
commit
2fd32d4af8
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user