From: Bastian Hecht Date: Fri, 27 Apr 2012 10:19:31 +0000 (+0200) Subject: mtd: nand: Add a NAND_CMD_STATUS when using write verification X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=09cbe581e346229e33c48da00439419ff2fe6af7;p=deliverable%2Flinux.git 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 Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse --- diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index eb88d8b04262..512066e3d143 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; }