summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2020-10-01 12:20:13 +0200
committerMiquel Raynal <miquel.raynal@bootlin.com>2020-12-10 22:37:31 +0100
commit868cbe2a6dcee451bd8f87cbbb2a73cf463b57e5 (patch)
tree94057957c6495f443c49d11083a3a752fcb869c6 /drivers/mtd
parentmtd: spinand: Allow the case where there is no ECC engine (diff)
downloadlinux-868cbe2a6dcee451bd8f87cbbb2a73cf463b57e5.tar.xz
linux-868cbe2a6dcee451bd8f87cbbb2a73cf463b57e5.zip
mtd: spinand: Fix OOB read
So far OOB have never been used in SPI-NAND, add the missing memcpy to make it work properly. Fixes: 7529df465248 ("mtd: nand: Add core infrastructure to support SPI NANDs") Cc: stable@vger.kernel.org Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20201001102014.20100-6-miquel.raynal@bootlin.com
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/spi/core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 4a4c86d8eeb6..bec8c2a57f24 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -382,6 +382,10 @@ static int spinand_read_from_cache_op(struct spinand_device *spinand,
memcpy(req->databuf.in, spinand->databuf + req->dataoffs,
req->datalen);
+ if (req->ooblen)
+ memcpy(req->oobbuf.in, spinand->oobbuf + req->ooboffs,
+ req->ooblen);
+
return 0;
}