diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-12-13 13:30:47 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-12-14 15:29:32 +0100 |
commit | ed857a3dc27702c0598790addac9da6fdf58226f (patch) | |
tree | 128e5a6c511ae764e1af98bbd6b128d8a62ff864 /drivers/mtd | |
parent | 7d5afe91308d11ee701362bb6792f31509d3c966 (diff) | |
download | barebox-ed857a3dc27702c0598790addac9da6fdf58226f.tar.gz barebox-ed857a3dc27702c0598790addac9da6fdf58226f.tar.xz |
mtd: nand: omap: set eccbytes correctly
The total number of ecc bytes per page must be provided to the
nand core. This patch fixes this for bch8_hw and bch8_hw_romcode.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/nand_omap_gpmc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c index d64ae41e7a..58ba95cb48 100644 --- a/drivers/mtd/nand/nand_omap_gpmc.c +++ b/drivers/mtd/nand/nand_omap_gpmc.c @@ -765,6 +765,7 @@ static int omap_gpmc_eccmode(struct gpmc_nand_info *oinfo, omap_oobinfo.oobfree->offset = offset; oinfo->nand.ecc.steps = minfo->writesize / oinfo->nand.ecc.size; oinfo->nand.ecc.total = oinfo->nand.ecc.steps * oinfo->nand.ecc.bytes; + omap_oobinfo.eccbytes = oinfo->nand.ecc.total; omap_oobinfo.oobfree->length = minfo->oobsize - offset - omap_oobinfo.eccbytes; @@ -779,6 +780,9 @@ static int omap_gpmc_eccmode(struct gpmc_nand_info *oinfo, oinfo->nand.ecc.strength = BCH8_MAX_ERROR; nand->ecc.read_page = omap_gpmc_read_page_bch_rom_mode; omap_oobinfo.oobfree->length = 0; + oinfo->nand.ecc.steps = minfo->writesize / oinfo->nand.ecc.size; + oinfo->nand.ecc.total = oinfo->nand.ecc.steps * oinfo->nand.ecc.bytes; + omap_oobinfo.eccbytes = oinfo->nand.ecc.total; j = 0; for (i = 2; i < 58; i++) omap_oobinfo.eccpos[j++] = i; |