[MTD] NAND fix cmd_ctrl breakage

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Wed May 24 18:59:02 EDT 2006


Commit:     12efdde3139c568a59561b69865fd14f37c75603
Parent:     ace4dfee56fff184e07d7248a759b574321afa8b
Author:     Thomas Gleixner <tglx at cruncher.tec.linutronix.de>
AuthorDate: Wed May 24 22:57:09 2006 +0200
Commit:     David Woodhouse <dwmw2 at infradead.org>
CommitDate: Wed May 24 23:45:24 2006 +0100

    [MTD] NAND fix cmd_ctrl breakage
    
    The cmd_ctrl rework lacks some state transition flags.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

 drivers/mtd/nand/nand_base.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 6036d32..5690de2 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -538,7 +538,8 @@ static void nand_command(struct mtd_info
 		udelay(chip->chip_delay);
 		chip->cmd_ctrl(mtd, NAND_CMD_STATUS,
 			       NAND_CTRL_CLE | NAND_CTRL_CHANGE);
-		chip->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE);
+		chip->cmd_ctrl(mtd,
+			       NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE);
 		while (!(chip->read_byte(mtd) & NAND_STATUS_READY)) ;
 		return;
 
@@ -641,14 +642,18 @@ static void nand_command_lp(struct mtd_i
 		if (chip->dev_ready)
 			break;
 		udelay(chip->chip_delay);
-		chip->cmd_ctrl(mtd, NAND_CMD_STATUS, NAND_NCE | NAND_CLE);
-		chip->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE);
+		chip->cmd_ctrl(mtd, NAND_CMD_STATUS,
+			       NAND_NCE | NAND_CLE | NAND_CTRL_CHANGE);
+		chip->cmd_ctrl(mtd, NAND_CMD_NONE,
+			       NAND_NCE | NAND_CTRL_CHANGE);
 		while (!(chip->read_byte(mtd) & NAND_STATUS_READY)) ;
 		return;
 
 	case NAND_CMD_READ0:
-		chip->cmd_ctrl(mtd, NAND_CMD_READSTART, NAND_NCE | NAND_CLE);
-		chip->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE);
+		chip->cmd_ctrl(mtd, NAND_CMD_READSTART,
+			       NAND_NCE | NAND_CLE | NAND_CTRL_CHANGE);
+		chip->cmd_ctrl(mtd, NAND_CMD_NONE,
+			       NAND_NCE | NAND_CTRL_CHANGE);
 
 		/* This applies to read commands */
 	default:



More information about the linux-mtd-cvs mailing list