diff options
author | Bastian Hecht <hechtb@googlemail.com> | 2012-04-27 12:19:31 +0200 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-05-13 23:09:36 -0500 |
commit | 09cbe581e346229e33c48da00439419ff2fe6af7 (patch) | |
tree | d7a426e95057ace197c5406c5ea366f740ce9ebc /drivers/mtd/nand | |
parent | b6778fd7812d877abdbc78b9b2d4304150b2ce05 (diff) | |
download | linux-3.10-09cbe581e346229e33c48da00439419ff2fe6af7.tar.gz linux-3.10-09cbe581e346229e33c48da00439419ff2fe6af7.tar.bz2 linux-3.10-09cbe581e346229e33c48da00439419ff2fe6af7.zip |
mtd: nand: Add a NAND_CMD_STATUS when using write verification
To make sure the NAND chip is properly programmed we need a status
command before each page write. When CONFIG_MTD_NAND_VERIFY_WRITE=y this
assumption is broken when writing multiple pages consecutively. This
patch fixes this.
Signed-off-by: Bastian Hecht <hechtb@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index eb88d8b0426..512066e3d14 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2118,6 +2118,9 @@ static int nand_write_page(struct mtd_info *mtd, struct nand_chip *chip, if (chip->verify_buf(mtd, buf, mtd->writesize)) return -EIO; + + /* Make sure the next page prog is preceded by a status read */ + chip->cmdfunc(mtd, NAND_CMD_STATUS, -1, -1); #endif return 0; } |