From: Kamal Dasu Date: Wed, 1 May 2019 19:22:14 +0000 (-0400) Subject: mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=917cc5945f18fc9464d597b4c1bb50ac745d78b6;p=linux.git mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts The way oobregion->offset is derived for large page NAND parts is wrong, fixes it. Fixes: ef5eeea6e911 ("mtd: nand: brcm: switch to mtd_ooblayout_ops") Signed-off-by: Kamal Dasu Reviewed-by: Florian Fainelli Signed-off-by: Miquel Raynal --- diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index 873527753f52f..f368d1cb89f49 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -931,7 +931,7 @@ static int brcmnand_bch_ooblayout_ecc(struct mtd_info *mtd, int section, if (section >= sectors) return -ERANGE; - oobregion->offset = (section * (sas + 1)) - chip->ecc.bytes; + oobregion->offset = ((section + 1) * sas) - chip->ecc.bytes; oobregion->length = chip->ecc.bytes; return 0;