[PATCH] [MTD] OneNAND: Return an error if a read timeout occurs

Adrian Hunter ext-adrian.hunter at nokia.com
Wed Jan 10 10:23:57 EST 2007


If OneNAND is operating within specification, all operations
should easily be completed within the 20 millisecond timeout.
This patch faithlessly adds a check for the timeout and returns
an error in that case.

Signed-off-by: Adrian Hunter <ext-adrian.hunter at nokia.com>
---
 drivers/mtd/onenand/onenand_base.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 02ad959..ff85a4f 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -333,6 +333,9 @@ static int onenand_wait(struct mtd_info 
 			} else if (ecc & ONENAND_ECC_1BIT_ALL)
 				mtd->ecc_stats.corrected++;
 		}
+	} else if (state == FL_READING) {
+		printk(KERN_ERR "onenand_wait: read timeout! ctrl=0x%04x intr=0x%04x\n", ctrl, interrupt);
+		return -EIO;
 	}
 
 	return 0;
-- 
1.4.3





More information about the linux-mtd mailing list