Patchwork MTD: OneNAND OMAP2/3: Fix incorrect bufferram offset

login
register
mail settings
Submitter Artem Bityutskiy
Date June 12, 2009, 5:01 a.m.
Message ID <1244782878.5847.416.camel@localhost.localdomain>
Download mbox | patch
Permalink /patch/28617/
State New
Headers show

Comments

Artem Bityutskiy - June 12, 2009, 5:01 a.m.
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@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@gmail.com>
---
 drivers/mtd/onenand/omap2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Kyungmin Park - June 12, 2009, 5:10 a.m.
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>

On Fri, Jun 12, 2009 at 2:01 PM, Artem Bityutskiy<dedekind@infradead.org> wrote:
> 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@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@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 (Битюцкий Артём)
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>

Patch

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;
        }