On Tue, 27 Mar 2018 19:01:58 +0200 Boris Brezillon boris.brezillon@bootlin.com wrote:
get_sectorsize() was not using the appropriate macro to extract the ECC sector size from the config cache, which led to buggy ECC when using 1024 byte sectors.
Fixes: f88fc122cc34 ("mtd: nand: Cleanup/rework the atmel_nand driver") Cc: stable@vger.kernel.org Reported-by: Olivier Schonken olivier.schonken@gmail.com Signed-off-by: Boris Brezillon boris.brezillon@bootlin.com
Applied.
drivers/mtd/nand/atmel/pmecc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel/pmecc.c index 8268636675ef..4124bf91bee6 100644 --- a/drivers/mtd/nand/atmel/pmecc.c +++ b/drivers/mtd/nand/atmel/pmecc.c @@ -426,7 +426,7 @@ static int get_strength(struct atmel_pmecc_user *user) static int get_sectorsize(struct atmel_pmecc_user *user) {
- return user->cache.cfg & PMECC_LOOKUP_TABLE_SIZE_1024 ? 1024 : 512;
- return user->cache.cfg & PMECC_CFG_SECTOR1024 ? 1024 : 512;
} static void atmel_pmecc_gen_syndrome(struct atmel_pmecc_user *user, int sector)