All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] JFFS2 seems to drop nand data with ECC corrections
Date: Thu, 6 Dec 2012 12:22:37 -0600	[thread overview]
Message-ID: <1354818157.8062.9@snotra> (raw)
In-Reply-To: <028AE8A7C04EE14889BE99E5450BE32D0F1CF3B3@kndmex01.barco.com> (from stephane.deltour@barco.com on Sat Dec  1 11:02:05 2012)

On 12/01/2012 11:02:05 AM, Deltour, Stephane wrote:
> I had a few boards with NAND related problems. In Linux a file was
> written to a JFFS2 partition in NAND, but u-boot was unable to read  
> the
> same file correctly from the JFFS2. This happened to be often the case
> if the NAND had a few bad blocks in the JFFS2 partition.
> Upon further examination it turned out Linux still was able to read  
> the
> file 100% correctly from the partition, but u-boot wasn't.
> I did get a lot of "read_nand_cache: error reading nand off ..."
> messages in u-boot.
> 
> When debugging further it appears that
> read_nand_cached(...) in /fs/jffs2/jffs2_1pass.c
> throws away the data if nand_read (/drivers/ mtd/nand/nand_base.c)
> doesn't return 0.
> This happens in case of an uncorrectable ECC error (-EBADMSG) or a
> correctable ECC error(-EUCLEAN).
> (see nand_do_read_ops in /drivers/ mtd/nand/nand_base.c)
> 
> So this would mean that data gets thrown away in case of a correctable
> ECC error, which doesn't seem the right thing to do and probably does
> not match with how linux is behaving.
> 
> I patched the code to not throw away data with correctable ECC errors
> and this seems to fix it for the two boards that had this issue.
> If it matters: the correctable ECC errors appeared in good blocks (but
> often close to a bad block).
> 
> So would my understanding be 'correct'?

Yes.

-Scott

  reply	other threads:[~2012-12-06 18:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAG-iJ2-oL49mqPzRhnCNa5rv76b3x0K7-pWBzBuPr3dq08KA_w@mail.gmail.com>
     [not found] ` <CAG-iJ28j0PsUuxGLByaHmv3KdSmdxJ1sgk4kCJ_6ACER-YbCtQ@mail.gmail.com>
2012-12-01 17:02   ` [U-Boot] JFFS2 seems to drop nand data with ECC corrections Deltour, Stephane
2012-12-06 18:22     ` Scott Wood [this message]
2012-12-10  7:33       ` Deltour, Stephane
2012-12-10 18:10         ` Scott Wood
2013-05-30 17:34         ` passal

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=1354818157.8062.9@snotra \
    --to=scottwood@freescale.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.