From 338b698fb6f8f1fb38b36d10dfe087c7701a2d5e Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 17 Sep 2012 20:30:50 +0000 Subject: [PATCH] ar71xx: ar934x_nfc: fix READ{0,1} operation on large page devices SVN-Revision: 33450 --- .../ar71xx/files/drivers/mtd/nand/ar934x_nfc.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 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 65d9186d47..86899fd720 100644 --- a/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c +++ b/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c @@ -613,15 +613,18 @@ ar934x_nfc_cmdfunc(struct mtd_info *mtd, unsigned int command, int column, case NAND_CMD_READ0: case NAND_CMD_READ1: - if (nfc->small_page) + if (nfc->small_page) { ar934x_nfc_send_read(nfc, command, column, page_addr, mtd->writesize + mtd->oobsize, false); - else - ar934x_nfc_send_read(nfc, command, column, page_addr, - mtd->writesize, false); - nfc->rndout_page_addr = page_addr; - nfc->rndout_read_cmd = command; + } else { + ar934x_nfc_send_read(nfc, command, 0, page_addr, + mtd->writesize + mtd->oobsize, + false); + nfc->buf_index = column; + nfc->rndout_page_addr = page_addr; + nfc->rndout_read_cmd = command; + } break; case NAND_CMD_READOOB: -- 2.30.2