[PATCH] MTD: OneNAND OMAP2/3: Fix incorrect bufferram offset

Artem Bityutskiy dedekind at infradead.org
Fri Jun 12 01:01:18 EDT 2009


On Thu, 2009-06-11 at 14:15 +0300, Mika Korhonen wrote:
> 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.

Looks good to me, Kyungmin?

>From 4ad479f5238560286999c07c30fec3a6a5551dd5 Mon Sep 17 00:00:00 2001
From: Mika Korhonen <mika.j.korhonen at gmail.com>
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 <mika.j.korhonen at gmail.com>
---
 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

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list