public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* oobavail issues
@ 2005-03-31  1:18 Joshua Wise
  2005-03-31 11:52 ` Thomas Gleixner
  0 siblings, 1 reply; 7+ messages in thread
From: Joshua Wise @ 2005-03-31  1:18 UTC (permalink / raw)
  To: linux-mtd; +Cc: Matt Reimer

Hi folks,

We're debugging a mysterious crash on NAND writes on an s3c2410-derived 
driver. The culprit seems to be in how oobavail is determined:

line 2524 nand_base.c: mtd->oobavail = mtd->oobsize - 
(this->autooob->eccbytes + 1);

Our oobinfo is the same as the s3c2410's. For reference, that's:

static struct nand_oobinfo nand_hw_eccoob = {
         .useecc = MTD_NANDECC_AUTOPLACE,
         .eccbytes = 3,
         .eccpos = {0, 1, 2 },
         .oobfree = { {8, 8} }
};

We found that making our oobfree match up with oobavail seemed to do the 
trick for avoiding this, and make JFFS2 work, to boot! Here's what we did:

static struct nand_oobinfo nand_hw_eccoob = {
         .useecc = MTD_NANDECC_AUTOPLACE,
         .eccbytes = 3,
         .eccpos = {0, 1, 2 },
         .oobfree = { {8, 8}, {3, 2}, {6, 2} } /* {6, 10} instead? */
};

I suspect that oobavail should be summing oobfree instead of doing that 
arithmetic. Or is there something I'm not seeing?

joshua

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-04-01 17:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-31  1:18 oobavail issues Joshua Wise
2005-03-31 11:52 ` Thomas Gleixner
2005-03-31 17:29   ` Matthew Reimer
2005-03-31 19:20     ` Thomas Gleixner
2005-03-31 18:29       ` Matthew Reimer
2005-04-01  8:23         ` Thomas Gleixner
2005-04-01 17:27           ` Matthew Reimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox