mtd: Blackfin NFC: make sure to check NAND_ALE in cmd_ctrl
authorBarry Song <barry.song@analog.com>
Thu, 5 Aug 2010 15:07:42 +0000 (11:07 -0400)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 5 Aug 2010 15:14:09 +0000 (16:14 +0100)
The NAND base may send some controls which are neither CLE nor ALE, so
we need to explicitly check both instead of assuming things are always
one or the other.  Otherwise, we sometimes send out illegal addresses
to the NAND device.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/bf5xx_nand.c

index ca39819982bf5ee49a75b9acabb48cefc8972e13..5c999e01db6fab5266feab48e950fe5b7ca11b82 100644 (file)
@@ -203,7 +203,7 @@ static void bf5xx_nand_hwcontrol(struct mtd_info *mtd, int cmd,
 
        if (ctrl & NAND_CLE)
                bfin_write_NFC_CMD(cmd);
-       else
+       else if (ctrl & NAND_ALE)
                bfin_write_NFC_ADDR(cmd);
        SSYNC();
 }