On 11/10/06, Charles Manning wrote: > Looks almost certainly a driver issue. Pretty much guarantee that either: > 1) Your driver is bad and is telling yaffs that blocks are bad when they are > not. > - or - > 2) The erase is not working, > > I suggest: > 1) adding some printk's to the mtd nand block_is_bad function > 2) Turning on YAFFS_TRACE_MTD. > Thanks for your suggestion. Now My driver seems to work properly. Here is the log on my side. Everything seems to be ok. But sometimes (the first time) there are much of checkpoint message printed. Can it be turned off? Thanks, -Aubrey ======================================================= root:~> mount -t yaffs2 /dev/mtdblock2 /mnt/ yaffs: dev is 32505858 name is "mtdblock2" yaffs: Attempting MTD mount on 31.2, "mtdblock2" restore entry: isCheckpointed 0 found checkpt block 5 Checkpoint read object 1 parent 0 type 3 chunk 0 obj addr 30600f8 Checkpoint read object 2 parent 1 type 3 chunk 0 obj addr 3060174 Checkpoint read object 3 parent 0 type 3 chunk 0 obj addr 3060000 Checkpoint read object 4 parent 0 type 3 chunk 0 obj addr 306007c Checkpoint read object 261 parent 1 type 3 chunk 65 obj addr 30601f0 Checkpoint read object 262 parent 261 type 1 chunk 68 obj addr 306026c Checkpoint read object 263 parent 1 type 1 chunk 281 obj addr 30602e8 checkpoint byte count 2380 restore exit: isCheckpointed 1 yaffs: restored from checkpoint root:~> md5sum /mnt/busybox 9bbf1c6f85107ee8368ffe3c7d725c43 /mnt/busybox root:~> md5sum /bin/busybox 9bbf1c6f85107ee8368ffe3c7d725c43 /bin/busybox root:~> umount /mnt/ save entry: isCheckpointed 1 save exit: isCheckpointed 1 ================================================================