JFFS2 problem

Vikram Mehta
2003-07-29T14:04:12Z

Hi people,

Let me discuss the problem with you and kindly tell me what is wrong here.
any ideas are welcome
When we mount jffs2 if the mount process ends up after the Garbage
collection thread is said to be sleeping, the mount is successful
However if in the mount process, jffs2_write_supper is called after GC
thread is sleeping, It calls a function to erase blocks by the name
jffs2_erase_pending_blocks.

If the code enters this function, it goes on to the scheduler
by the call stack
jffs2_erase_pending_blocks
jffs2_erase_block.
c->mtd->erase() which is
..
cfi_amdstd_erase_varsize
do_erase_one_block
cfi_udelay
udelay
scehdule_timeout
schedule
switch_to macro
where the system Crashes

I tried one thing. Commenting the jffs2_erase_block call in
jffs2_erase_pending_blocks.
Now my mount works perfectly fine.... Very nicely
But now erase and eraseall /dev/mtdx crash.
the crash in erase or eraseall
The crash in erase or eraseall follows the same call stack.

Any ideas what might be wrong .

Vikram