From 9d03280129e84f8cdfd83f84803a4548e3bf697d Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Wed, 10 Jan 2007 07:51:26 +0200 Subject: [MTD] OneNAND: Return an error if a read timeout occurs 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 Signed-off-by: Kyungmin Park --- drivers/mtd/onenand/onenand_base.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/mtd/onenand/onenand_base.c') diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index d0f31183d58..ce1cbdcd355 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 *mtd, int state) } 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; -- cgit v1.2.3