summaryrefslogtreecommitdiffstats
path: root/fs/direct-io.c
diff options
context:
space:
mode:
authorVipin Kumar <vipin.kumar@st.com>2012-03-07 12:30:49 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-03-27 01:44:57 +0200
commit519300cfe18ee8dcf0b1e7a38564b61b70e4ee86 (patch)
treecfc6ad1320393249630ad695c5ef620109006ac0 /fs/direct-io.c
parentmtd: fix partition wrapper functions (diff)
downloadlinux-519300cfe18ee8dcf0b1e7a38564b61b70e4ee86.tar.xz
linux-519300cfe18ee8dcf0b1e7a38564b61b70e4ee86.zip
mtd: fsmc: Newly erased page read algorithm implemented
A newly erased page contains ff in data as well as spare area. While reading an erased page, the read out ecc from spare area does not match the ecc generated by fsmc ecc hardware accelerator. This is because ecc of data ff ff is not ff ff. This leads to errors when file system erases and reads back the pages to ensure consistency. This patch adds a software workaround to ensure that the ecc check is not performed for erased pages. This problem is solved by checking the number of bits (in 512 byte data + 13 byte ecc) which are 0. If these number of bits are less than 8, the page is considered erased and correction algorithm is not tried on that page Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'fs/direct-io.c')
0 files changed, 0 insertions, 0 deletions