* failure to mount partition after flash_eraseall -j
@ 2007-12-10 23:17 Jeff Hane
0 siblings, 0 replies; only message in thread
From: Jeff Hane @ 2007-12-10 23:17 UTC (permalink / raw)
To: linux-mtd
I've got a nand chip that I've erased using flash_eraseall -j but it
still fails to mount.
It is failing because of the cleanmarker compare is failing.
flash_eraseall writes a cleanmarker of size 8 or less. It gets this
length from the *first* oobfree area. In my case, this is 7.
However, when trying to mount the chip and the function
jffs2_check_nand_cleanmarker it does this:
cmlen = min_t(int, c->oobavail, OOB_CM_SIZE);
OOB_CM_SIZE is 8 but oobavail is the total of all the available oob not
just the first segment(43 in my case). So them memcmp fails because it
tries to compare 8 bytes instead of 7.
Should flash_eraseall try to see if there is a total of 8 free bytes of
oob area. However, the MEMWRITEOOB ioctl still uses OOB_PLACE and not
OOB_AUTO so this seems like it would still not work?
If I'm missing something let me know otherwise I'm open for
suggestions.
thanks,
jeff
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-12-10 23:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-10 23:17 failure to mount partition after flash_eraseall -j Jeff Hane
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox