I think it is because ECC can correct a 1 bit error. The yaffs_isBlockBad function doesn't bother to do ECC so it is possible that there is a 1 bit error in the block status byte. Counting the bits < 7 implies that 2 bits are bad & there is no chance that ECC will fix it. Side note - if what I say is correct, perhaps the tags should be ECC fixed (if bits < 8) & then checked against 0xFF, otherwise it would be possible for the block status byte to have a single bit error, but also other bytes of the tag to have errors - which would also invalidate the ECC check? Ie, if (countBits < 7) return 1; else if (countBits != 0xFF) { ecc_correct_tags if (corrected_status != 0xFF) } Cheers Brad > -----Original Message----- > From: Jim Muchow [mailto:james.muchow@qlogic.com] > Sent: Wednesday, 11 June 2003 4:20 a.m. > To: yaffs@toby-churchill.org > Subject: Block Status Question > > > In yaffs_IsBlockBad() a test is made for the number of bits > in each byte. The original test for 0xFF is #if'd out. > > The test for failure is less than 7. Shouldn't this be 8? > What am I missing? > > JM > > > -------------------------------------------------------------- > ------------------------- > This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org). If mailing list membership is no longer wanted you can remove yourself from the list by sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" (without the quotes) as the subject. --------------------------------------------------------------------------------------- This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org). If mailing list membership is no longer wanted you can remove yourself from the list by sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" (without the quotes) as the subject.