[PATCH] nand/davinci: relax a timeout for ECC-initialization

Wolfram Sang w.sang at pengutronix.de
Fri Sep 3 06:35:37 EDT 2010


Sudhakar found out that 100us are enough. Sadly, his updated patch was
overlooked and an older version still using 100ms was merged. Fix this.

Reference: http://patchwork.ozlabs.org/patch/59180/

Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
Cc: Sudhakar Rajashekhara <sudhakar.raj at ti.com>
Cc: Sneha Narnakaje <nsnehaprabha at ti.com>
Cc: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
---

Artem, if you pick up this one, too, then we have what Sudhakar sent as
v3 of his original patch. Except for some minor rewording in the comment.

Sudhakar, I hope it is okay if I send this patch now. I just want to have
the confusion about the different versions gone.

 drivers/mtd/nand/davinci_nand.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index 53f864a..1ad0eed 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -313,7 +313,7 @@ static int nand_davinci_correct_4bit(struct mtd_info *mtd,
 	u32 syndrome[4];
 	u32 ecc_state;
 	unsigned num_errors, corrected;
-	unsigned long timeo = jiffies + msecs_to_jiffies(100);
+	unsigned long timeo;
 
 	/* All bytes 0xff?  It's an erased page; ignore its ECC. */
 	for (i = 0; i < 10; i++) {
@@ -373,6 +373,7 @@ compare:
 	 * long as ECC_STATE reads less than 4. After that, ECC HW has entered
 	 * correction state.
 	 */
+	timeo = jiffies + usecs_to_jiffies(100);
 	do {
 		ecc_state = (davinci_nand_readl(info,
 				NANDFSR_OFFSET) >> 8) & 0x0f;
-- 
1.7.1




More information about the linux-mtd mailing list