tree b96b4aa8524df5104c10ab480eeb9355ff9c2dbf
parent fdf2fd52746bbffeffa19e24cb0608abc5429bc2
author Thomas Gleixner <[EMAIL PROTECTED]> Tue, 22 Feb 2005 21:48:25 +0000
committer Thomas Gleixner <[EMAIL PROTECTED]> Mon, 23 May 2005 12:42:18 +0200
[MTD] DiskOnChip: Wait for the command to finish.
Do not use the ready function here, as it might hang for ever.
The result will show, whether the chip is there or not
Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
drivers/mtd/nand/diskonchip.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c
--- a/drivers/mtd/nand/diskonchip.c
+++ b/drivers/mtd/nand/diskonchip.c
@@ -16,7 +16,7 @@
*
* Interface to generic NAND code for M-Systems DiskOnChip devices
*
- * $Id: diskonchip.c,v 1.48 2005/01/31 22:22:21 gleixner Exp $
+ * $Id: diskonchip.c,v 1.49 2005/02/22 21:48:21 gleixner Exp $
*/
#include <linux/kernel.h>
@@ -410,7 +410,12 @@ static uint16_t __init doc200x_ident_chi
doc200x_hwcontrol(mtd, NAND_CTL_SETALE);
this->write_byte(mtd, 0);
doc200x_hwcontrol(mtd, NAND_CTL_CLRALE);
-
+
+ /* We cant' use dev_ready here, but at least we wait for the
+ * command to complete
+ */
+ udelay(50);
+
ret = this->read_byte(mtd) << 8;
ret |= this->read_byte(mtd);
@@ -429,6 +434,8 @@ static uint16_t __init doc200x_ident_chi
doc2000_write_byte(mtd, 0);
doc200x_hwcontrol(mtd, NAND_CTL_CLRALE);
+ udelay(50);
+
ident.dword = readl(docptr + DoC_2k_CDSN_IO);
if (((ident.byte[0] << 8) | ident.byte[1]) == ret) {
printk(KERN_INFO "DiskOnChip 2000 responds to DWORD
access\n");
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html