[MTD] [NAND] Bug on atmel_nand HW ECC : OOB info not correctly written
authorRichard Genoud <richard.genoud@gmail.com>
Sun, 12 Oct 2008 06:42:28 +0000 (08:42 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 14 Oct 2008 10:07:57 +0000 (11:07 +0100)
commit3fc2389847a84d06263c13a3b6dfe1f1d6eea935
treec63f13a5b79950a390538c34132416f2d3b894c3
parent08d790432906b3815a1dc91a826ca85ff2a73b6c
[MTD] [NAND] Bug on atmel_nand HW ECC : OOB info not correctly written

The functions that write the OOB info (on hardware ECC only) use the
HW_SYNDROME method.

This is not correct : the start position is "pos = eccsize + chunk" and
should be eccsize. So, the standard (nand_write_oob_std) function should
be used. This patch corrects this by using NAND_ECC_HW instead of
NAND_ECC_HW_SYNDROME.

This has only been tested on small pages nand flash.
(if anyone can test it on large pages that would be great).

kernel version : 2.6.27-rc2 (current git mtd-2.6)

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/atmel_nand.c