[Yaffs] [patch] yaffs2 packed tags ecc problem

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Yeasah Pell
Date:  
To: yaffs
Subject: [Yaffs] [patch] yaffs2 packed tags ecc problem
(This is a resend of a message I sent last week, but I wasn't subscribed
to the list at the time so it ended up in list moderator approval land.
Apologies in advance if the original message does eventually show up as
a duplicate, but I suspect they are buried in a bucket of endless spam
and will never be heard from again...)

The ECC on yaffs2 packed tags in the OOB works fine, but there is a bug
in the tags code which causes the corrected data to be discarded, and
the original incorrect tag data is used instead. Here is a very simple
patch to correct this (it re-unpacks the packed tags structure in the
case that the data is corrected). Without this patch, running yaffs2 on
mtd nandsim with bitflips=1 results in significant corruption and
eventually system lockups (presumably caused by insane metadata)

--- yaffs2-20081017/yaffs_packedtags2.c    2008-05-05 03:58:58.000000000 
-0400
+++ yaffs2/yaffs_packedtags2.c    2008-10-29 15:02:39.000000000 -0400
@@ -189,6 +189,7 @@
                    t->eccResult = YAFFS_ECC_RESULT_NO_ERROR
;
                    break;
                case 1:
+                    yaffs_UnpackTags2TagsPart(t,&pt->t);
                    t->eccResult = YAFFS_ECC_RESULT_FIXED;
                    break;
                case -1: