From 56caae5b72e0f3c99cdddacf3425a1c0216110b2 Mon Sep 17 00:00:00 2001 From: juhosg Date: Mon, 17 Sep 2012 20:30:51 +0000 Subject: [PATCH] ar71xx: ar934x_nfc: fix RNDOUT operation git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33451 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c | 8 ++++++-- 1 file 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: