mtd: nand: atmel: Fix get_sectorsize() function
authorBoris Brezillon <boris.brezillon@bootlin.com>
Tue, 27 Mar 2018 17:01:58 +0000 (19:01 +0200)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Thu, 29 Mar 2018 17:29:06 +0000 (19:29 +0200)
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>
Reviewed-by: Richard Weinberger <richard@nod.at>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Tested-by: Olivier Schonken <olivier.schonken@gmail.com>
drivers/mtd/nand/atmel/pmecc.c

index fcbe4fd6e684bcc45721d52b4845e4018cb8edeb..ca0a70389ba95521e6cd140c1fcc676413d8a651 100644 (file)
@@ -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)