This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

JFFS2 getting error on 8-bit NAND

Other Parts Discussed in Thread: AM3505

At Bin Liu's prompting (guru on Linux forum), I'm posting this here.  I'm hopeful that the following will mean something to a JFFS2 guru.

I have a custom AM3505 board that gets the following error.  It looks very bad, especially the part about "Expect badness..."  The only badness that I see is that the userspace application that I was running at the time cannot be restarted.  This is definitely bad for me.  When I cycle power, the problem goes away for a while.  I am initializing and loadiing the root filesystem using the Kernel mode of Flash 1.6, HWECC, ONFI compliant, 1Bit ECC.  The NAND flash is 8-bit.  I don't have the exact part number and manufacturer, but can obtain it if necessary.

I am using a Linux 2.6.37 kernel that I built from ti-sdk-am3517-evm-05.05.01.00.  I know this is a retro version, but I have commited much resource to it since Novermber, 2012, and do not wish to expend any more resource to port anything at this time, unless it fixes this issue.

[  127.579711] JFFS2 notice: (678) read_dnode: wrong data CRC in data node at 0x00c1104c: read 0x265ed94e, calculated 0xebe2518f.
[  127.591522] JFFS2 warning: (678) jffs2_do_read_inode_internal: no data nodes found for ino #2440
[  127.600585]
[  127.600585] =========================
[  127.605834] [ BUG: held lock freed! ]
[  127.609588] -------------------------
[  127.613342] jffs2_gcd_mtd4/678 is freeing memory cede2800-cede2bff, with a lock still held there!
[  127.622436]  (&f->sem#2){+.+.+.}, at: [<c01b20c8>] jffs2_do_crccheck_inode+0xb0/0x108
[  127.630523] 2 locks held by jffs2_gcd_mtd4/678:
[  127.635131]  #0:  (&c->alloc_sem){+.+.+.}, at: [<c01b6618>] jffs2_garbage_collect_pass+0x1c/0x800
[  127.644256]  #1:  (&f->sem#2){+.+.+.}, at: [<c01b20c8>] jffs2_do_crccheck_inode+0xb0/0x108
[  127.652770]
[  127.652770] stack backtrace:
[  127.657287] [<c0049690>] (unwind_backtrace+0x0/0xe0) from [<c009e334>] (debug_check_no_locks_freed+0xf0/0x140)
[  127.667541] [<c009e334>] (debug_check_no_locks_freed+0xf0/0x140) from [<c00f4750>] (kfree+0xbc/0x11c)
[  127.677001] [<c00f4750>] (kfree+0xbc/0x11c) from [<c01b2100>] (jffs2_do_crccheck_inode+0xe8/0x108)
[  127.686187] [<c01b2100>] (jffs2_do_crccheck_inode+0xe8/0x108) from [<c01b67b4>] (jffs2_garbage_collect_pass+0x1b8/0x800)
[  127.697326] [<c01b67b4>] (jffs2_garbage_collect_pass+0x1b8/0x800) from [<c01b81d4>] (jffs2_garbage_collect_thread+0x168/0x1a0)
[  127.709014] [<c01b81d4>] (jffs2_garbage_collect_thread+0x168/0x1a0) from [<c0089fa4>] (kthread+0x7c/0x84)
[  127.718811] [<c0089fa4>] (kthread+0x7c/0x84) from [<c0044ad4>] (kernel_thread_exit+0x0/0x8)
[  127.727447] Returned error for crccheck of ino #2440. Expect badness...
[  143.915985] JFFS2 notice: (678) check_node_data: wrong data CRC in data node at 0x07675778: read 0x86414f40, calculated 0xc0e38fb0.
[  144.095703] JFFS2 notice: (678) check_node_data: wrong data CRC in data node at 0x045eedcc: read 0x77b51a99, calculated 0x2d1ab22b.
[  146.298828] JFFS2 notice: (678) check_node_data: wrong data CRC in data node at 0x076716d8: read 0x466821b4, calculated 0x32fb2b97.
[  259.727172] JFFS2 notice: (678) check_node_data: wrong data CRC in data node at 0x0378f0d0: read 0x9a192fad, calculated 0xe8ebe2a8.
[  259.741699] JFFS2 notice: (678) check_node_data: wrong data CRC in data node at 0x03784d28: read 0x9a192fad, calculated 0x7d257cbf.