summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-09-17 20:30:50 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-09-17 20:30:50 +0000
commit5cf642fa6f42566135daea4b983e513b1cc53413 (patch)
treed7c01db2520fcf65ffeeb56d954cd8115a5e00fb
parent31020840371efe76c18fd33ed43d55c6afc6f102 (diff)
ar71xx: ar934x_nfc: fix READ{0,1} operation on large page devices
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33450 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c15
1 files 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 65d9186d4..86899fd72 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: