[PATCH] drivers/mtd/chips/cfi_cmdset_0001.c: correct block lock timeout

Andrew Klossner andrew at cesa.opbu.xerox.com
Tue Mar 24 14:14:39 EDT 2009


The time parameters to WAIT_TIMEOUT are in units of microseconds, so
one second must be expressed as 1000000 not 1000000/HZ.

The Intel Strataflash part with which this patch was tested takes 0.7
seconds to lock/unlock, so one second does indeed seem to be a good
timeout value.

Signed-off-by: Andrew Klossner <andrew at cesa.opbu.xerox.com>
---
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index f5ab6fa..97f3c71 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -2041,7 +2041,7 @@ static int __xipram do_xxlock_oneblock(struct map_info *map, struct flchip *chip
 	 * If Instant Individual Block Locking supported then no need
 	 * to delay.
 	 */
-	udelay = (!extp || !(extp->FeatureSupport & (1 << 5))) ? 1000000/HZ : 0;
+	udelay = (!extp || !(extp->FeatureSupport & (1 << 5))) ? 1000000 : 0;
 
 	ret = WAIT_TIMEOUT(map, chip, adr, udelay, udelay * 100);
 	if (ret) {



More information about the linux-mtd mailing list