summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c')
-rw-r--r--target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c b/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
index 86899fd72..d889c70b0 100644
--- a/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
+++ b/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
@@ -643,10 +643,14 @@ ar934x_nfc_cmdfunc(struct mtd_info *mtd, unsigned int command, int column,
break;
case NAND_CMD_RNDOUT:
+ if (WARN_ON(nfc->small_page))
+ break;
+
/* emulate subpage read */
- ar934x_nfc_send_read(nfc, nfc->rndout_read_cmd, column,
+ ar934x_nfc_send_read(nfc, nfc->rndout_read_cmd, 0,
nfc->rndout_page_addr,
- mtd->writesize, false);
+ mtd->writesize + mtd->oobsize, false);
+ nfc->buf_index = column;
break;
case NAND_CMD_ERASE1: