[PATCH] OneNAND: Fix bug in write verify
authorKyungmin Park <kyungmin.park@samsung.com>
Sat, 3 Sep 2005 06:36:21 +0000 (07:36 +0100)
committerThomas Gleixner <tglx@mtd.linutronix.de>
Sun, 6 Nov 2005 20:24:51 +0000 (21:24 +0100)
- Remove unused block, page parameters
- Add constant instead of runtime value

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/mtd/onenand/onenand_base.c
include/linux/mtd/onenand.h

index bdeac01..75d7578 100644 (file)
@@ -719,13 +719,10 @@ out:
  * onenand_verify_page - [GENERIC] verify the chip contents after a write
  * @param mtd          MTD device structure
  * @param buf          the databuffer to verify
- * @param block                block address
- * @param page         page address
  *
  * Check DataRAM area directly
  */
-static int onenand_verify_page(struct mtd_info *mtd, u_char *buf,
-       loff_t addr, int block, int page)
+static int onenand_verify_page(struct mtd_info *mtd, u_char *buf, loff_t addr)
 {
        struct onenand_chip *this = mtd->priv;
        void __iomem *dataram0, *dataram1;
@@ -816,7 +813,7 @@ static int onenand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len,
                written += thislen;
 
                /* Only check verify write turn on */
-               ret = onenand_verify_page(mtd, (u_char *) buf, to, block, page);
+               ret = onenand_verify_page(mtd, (u_char *) buf, to);
                if (ret) {
                        DEBUG(MTD_DEBUG_LEVEL0, "onenand_write_ecc: verify failed %d\n", ret);
                        goto out;
@@ -940,7 +937,7 @@ static int onenand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs,
        u_char *eccbuf, struct nand_oobinfo *oobsel)
 {
        struct onenand_chip *this = mtd->priv;
-       unsigned char buffer[mtd->oobblock], *pbuf;
+       unsigned char buffer[MAX_ONENAND_PAGESIZE], *pbuf;
        size_t total_len, len;
        int i, written = 0;
        int ret = 0;
@@ -1025,7 +1022,7 @@ static int onenand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs,
 
 
                /* Only check verify write turn on */
-               ret = onenand_verify_page(mtd, (u_char *) pbuf, to, block, page);
+               ret = onenand_verify_page(mtd, (u_char *) pbuf, to);
                if (ret) {
                        DEBUG(MTD_DEBUG_LEVEL0, "onenand_writev_ecc: verify failed %d\n", ret);
                        goto out;
index 2c29a5c..5802308 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/mtd/bbm.h>
 
 #define MAX_BUFFERRAM          2
+#define MAX_ONENAND_PAGESIZE   (2048 + 64)
 
 /* Scan and identify a OneNAND device */
 extern int onenand_scan(struct mtd_info *mtd, int max_chips);