From patchwork Thu Jun 11 11:15:04 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: MTD: OneNAND OMAP2/3: Fix incorrect bufferram offset Date: Thu, 11 Jun 2009 01:15:04 -0000 From: Mika Korhonen X-Patchwork-Id: 28562 Message-Id: <7948530906110415u3cc3cd62je650881b6385c8f5@mail.gmail.com> To: linux-mtd Mailing List Hi, I was testing 2-plane programming and noticed that when writing and doing a verify read straight after I kept getting 00 00 00 00 ... instead of the written data. I found out that OMAP2/3 version of onenand_bufferram_offset() uses the faked page size instead of the real one. The generic version in onenand_base.c is ok. The patch to fix this is attached. br Mika >From 4ad479f5238560286999c07c30fec3a6a5551dd5 Mon Sep 17 00:00:00 2001 From: Mika Korhonen Date: Thu, 11 Jun 2009 14:05:07 +0300 Subject: [PATCH] MTD: OneNAND OMAP2/3: Fix incorrect bufferram offset Fixes the case where CONFIG_MTD_ONENAND_2X_PROGRAM is set and the real page size differs from mtd_info.writesize. Signed-off-by: Mika Korhonen --- drivers/mtd/onenand/omap2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index df26db8..32de634 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c @@ -267,7 +267,7 @@ static inline int omap2_onenand_bufferram_offset(struct mtd_info *mtd, int area) if (ONENAND_CURRENT_BUFFERRAM(this)) { if (area == ONENAND_DATARAM) - return mtd->writesize; + return this->writesize; if (area == ONENAND_SPARERAM) return mtd->oobsize; } -- 1.5.6.5