From: Lothar Waßmann Date: Wed, 11 Feb 2015 15:24:20 +0000 (+0100) Subject: mtd: nand: omap_gpmc: support reading metadata from OOB X-Git-Tag: KARO-TXA5-2015-06-26~41 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=c031c9f753a76c50f057a6b1dfb03ba81429933e mtd: nand: omap_gpmc: support reading metadata from OOB --- diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index f809a783a5..94c18c97d0 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -665,6 +665,12 @@ static int omap_read_page_bch(struct mtd_info *mtd, struct nand_chip *chip, /* read syndrome */ chip->ecc.calculate(mtd, p, &ecc_calc[i]); + if (oob_required) { + /* reread the OOB area to get the metadata */ + chip->cmdfunc(mtd, NAND_CMD_RNDOUT, mtd->writesize, page); + chip->read_buf(mtd, chip->oob_poi, mtd->oobsize); + } + data_pos += eccsize; oob_pos += eccbytes; }