Hi, When I remove a file and then copy in a file and yaffs2 tries to erase that area of flash to add the new file, I get this: nand_erase: attempt to erase a bad block at page 0x000108c0 nand_erase: attempt to erase a bad block at page 0x000108c0 **>> Erasure failed 1059 **>> Block 1059 retired over and over again (different block number, though) for each block occupied by the recently removed file. Eventually, all blocks are marked bad. :-( It seems like the first byte of the oob area is being written to some non "0xff" value as part of the file write process. I am using a Samsung parts: NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit) 2 NAND chips detected The data sheet says that the bad blocks are marked by making the offset 2048 in the first page of a block (first oob byte) non 0xff. So, why is YAFFS2 using that for tags (according to http://www.aleph1.co.uk/yaffs/yaffs.html)?? I know this will make you cringe, but just so you know.... I have taking 2.6 mtd and yaffs2 code and back ported them to the 2.4 kernel. I know someone will suggest that I switch to 2.6, but that is not an option for me. I wrote my own low level driver for my hardware. It all works except for this problem. I had to change a few things here and there to get it working. So, I probably made a mistake somewhere and that is why this is happening. But I am having trouble understanding the YAFFS2 code regarding it's use of the OOB and what I could have done to cause it to step on the bad block markers. Any insight would be greatly appreciated. Thanks, __________________________________ Reed Lawson IGT Firmware Engineering (775) 448-0755