diff options
author | Adrian Hunter <hunter.programmer@gmail.com> | 2007-01-10 07:51:26 +0200 |
---|---|---|
committer | Kyungmin Park <kyungmin.park@samsung.com> | 2007-01-18 10:59:44 +0900 |
commit | 9d03280129e84f8cdfd83f84803a4548e3bf697d (patch) | |
tree | 2cce5d630864168ffd2427062094479d3bcf3ec5 /drivers/mtd/onenand | |
parent | 10b7a2bd6bf3510cbb5977a44d8822f085738729 (diff) |
[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 <ext-adrian.hunter@nokia.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/mtd/onenand')
-rw-r--r-- | 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 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; |