Erase error

Ryan Raasch ryan.raasch at gmail.com
Wed Aug 31 09:13:07 EDT 2011


Hello,

I have now been trying to get the cfi cmdset 0002
erase_one_block to work correctly with our design.

We have some Spansion NOR flash connected with
the gpio-addr-flash driver. However...

Works: mtd-utils (erase)
Erasing is acting kind of strange. When using mtd-utils
and erase partitions using the mtd[?] the erase works
everytime.

Works: performance test modules.
Using the stress, torture, and etc. modules, the erase works.

Doesn't work: Using jffs2

However, when jffs2 starts to do cleanup (the paritition is
mounted, of course) I get about 1/3 failure
on "jffs2_erase_block"

printk(KERN_WARNING "Erase at 0x%08x failed immediately: errno %d\n",
jeb->offset, ret);

However, if I add the largest of hacks in jffs2_erase_block

ret = c->mtd->erase(c->mtd, instr);
if (!ret)
  return;

ret = c->mtd->erase(c->mtd, instr);
if (!ret) {
     printk("Finally!!!!\n");
      return;
}

This works!!!

Any ideas, pls?

Cheers,
Ryan



More information about the linux-mtd mailing list