public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>,
	Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
	linux-mtd@lists.infradead.org,
	Ivan Kuten <ivan.kuten@promwad.com>,
	Vadim Yatsenko <Vadim.Yatsenko@malva.ua>
Subject: Re: Some issues with the AT91 dataflash driver...
Date: Tue, 29 May 2007 09:20:47 -0700	[thread overview]
Message-ID: <200705290920.47808.david-b@pacbell.net> (raw)
In-Reply-To: <20070527211234.40777726@dhcp-255-175.norway.atmel.com>

On Sunday 27 May 2007, Haavard Skinnemoen wrote:
> On Sun, 27 May 2007 20:08:53 +0200
> Haavard Skinnemoen <hskinnemoen@atmel.com> wrote:
> 
> > Now that I've got the CRC errors sorted out, I'll try bisecting it.
> 
> Done. git-bisect blames this commit:
> 
> 10731f83009e2556f98ffa5c7c2cbffe66dacfb3 is first bad commit

Reverting that patch made mtd_dataflash work again on
my test rig.  So this is clearly a JFFS2 regression.
(Tested on at45db642b, ~8MB, 1056 byte pages.) 

Seems to me this should be added to the "known regressions"
list for RC3 ... I've added Michal to the CC list, ISTR he
is now tracking such regressions.

I also added Andrew Victor to the CC, since he's the one
who ISTR added Dataflash support to JFFS2 and thus might
have quick insights to what this patch broke.

- Dave


> commit 10731f83009e2556f98ffa5c7c2cbffe66dacfb3
> Author: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
> Date:   Wed Apr 4 13:59:11 2007 +0300
> 
>     [JFFS2] fix buffer sise calculations in jffs2_get_inode_nodes()
> 
>     In read inode we have an optimization which prevents one
>     min. I/O unit (e.g. NAND page) to be read more then once.
> 
>     Namely, at the beginning we do not know which node type we read,
>     so we read so we assume we read the directory entry, because it
>     has the smallest node header. When we read it, we read up to the
>     next min. I/O unit, just because if later we'll need to read more,
>     we already have this data.
> 
>     If it turns out to be that the node is not directory entry, and
>     we need more data, and we did not read it because it sits in the
>     next min. I/O unit, we read the whole next (or several next)
>     min. I/O unit(s). And if it happens to be that we read a data node,
>     and we've read part of its data, we calculate partial CRC.
>     So if later we need to check data CRC, we'll only read the rest
>     of the data from further min. I/O units and continue CRC checking.
> 
>     This code was a bit messy and buggy. The bug was that it assumed
>     relatively large min. I/O unit, so that the largest node header
>     could overlap only one min. I/O unit boundary.
> 
>     This parch clean-ups the code a bit and fixes this bug.
>     The patch was not tested on flash with small min. I/O unit, like
>     NOR-ECC, nut it was tested on NAND with 512 bytes NAND page, so
>     it at least does not break NAND. It was also tested with mtdram
>     so it should not break NOR.
> 
>     Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
>     Signed-off-by: David Woodhouse <dwmw2@infradead.org>
> 
> I don't have a clue what's wrong with it, but I'll of course help you
> debugging if you tell me what to do.
> 
> Haavard
> 

      parent reply	other threads:[~2007-05-29 16:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <465431DA.5030500@atmel.com>
     [not found] ` <1179992308.13101.16.camel@fuzzie.sanpeople.com>
     [not found]   ` <46558893.1020802@comcast.net>
     [not found]     ` <1180010988.13101.103.camel@fuzzie.sanpeople.com>
     [not found]       ` <012d01c79e06$66823470$3204200a@head.local>
     [not found]         ` <20070524164654.3f106ead@newbox>
     [not found]           ` <20070524181437.01550127@newbox>
2007-05-27 18:08             ` Some issues with the AT91 dataflash driver Haavard Skinnemoen
2007-05-27 19:01               ` Ivan Kuten
2007-05-27 19:12               ` Haavard Skinnemoen
2007-05-28 17:44                 ` Artem Bityutskiy
2007-05-28 18:07                   ` Ivan Kuten
2007-05-28 18:25                   ` Ivan Kuten
2007-05-29 19:42                     ` Artem Bityutskiy
2007-05-29 20:27                       ` Haavard Skinnemoen
2007-05-30  7:13                         ` Artem Bityutskiy
2007-05-30  8:38                           ` Haavard Skinnemoen
2007-05-30  8:45                             ` Artem Bityutskiy
2007-05-30 10:57                             ` Ivan Kuten
2007-05-29 16:20                 ` David Brownell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200705290920.47808.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=Artem.Bityutskiy@nokia.com \
    --cc=Vadim.Yatsenko@malva.ua \
    --cc=hskinnemoen@atmel.com \
    --cc=ivan.kuten@promwad.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox