diff mbox series

[2/4] mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB

Message ID 20200622131634.2132717-2-mikhail.kshevetskiy@oktetlabs.ru
State New
Headers show
Series [1/4] mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers | expand

Commit Message

Mikhail Kshevetskiy June 22, 2020, 1:16 p.m. UTC
From: Frieder Schrempf <frieder.schrempf at kontron.de>

When writing the bad block marker to the OOB area the access mode
should be set to MTD_OPS_RAW as it is done for reading the marker.
Currently this only works because req.mode is initialized to
MTD_OPS_PLACE_OOB (0) and spinand_write_to_cache_op() checks for
req.mode != MTD_OPS_AUTO_OOB.

Fix this by explicitly setting req.mode to MTD_OPS_RAW.

Fixes: 7529df465248 ("mtd: nand: Add core infrastructure to support SPI NANDs")
Signed-off-by: Frieder Schrempf <frieder.schrempf at kontron.de>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200218100432.32433-3-frieder.schrempf at kontron.de
---
 drivers/mtd/nand/spi/core.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 410ea2382d..c74a7b5ef3 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -708,6 +708,7 @@  static int spinand_markbad(struct nand_device *nand, const struct nand_pos *pos)
 		.ooboffs = 0,
 		.ooblen = sizeof(marker),
 		.oobbuf.out = marker,
+		.mode = MTD_OPS_RAW,
 	};
 	int ret;