]> Pileus Git - ~andy/linux/commit
mtd: sh_flctl: Restructure the hardware ECC handling
authorBastian Hecht <hechtb@googlemail.com>
Mon, 14 May 2012 12:14:46 +0000 (14:14 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 6 Jul 2012 17:17:04 +0000 (18:17 +0100)
commit6667a6d58e25d351d8fce7a628a8c9c139a8bdc9
treeaf1edb613a317991a0451ea1dd5a52b531b18d83
parent623c55caa37203ece6b4450daa0d2d058255da30
mtd: sh_flctl: Restructure the hardware ECC handling

There are multiple reasons for a rewrite:
 - a race exists: when _4ECCEND is set, _4ECCFA may become true too
   meanwhile, which is lost and a non-correctable error is treated as
   correctable.
 - the ECC statistics don't get properly propagated to the base code.
 - empty pages would get marked as corrupted

The rewrite resolves the issues and I hope it gives a more explicit
code flow structure.

Signed-off-by: Bastian Hecht <hechtb@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/sh_flctl.c
include/linux/mtd/sh_flctl.h