From: John Crispin Date: Sun, 30 Mar 2014 19:03:55 +0000 (+0000) Subject: ralink: fix chuncked-io module X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5b6ceab69b16ae9c10c8374f78bee809f83e1b52;p=openwrt%2Fstaging%2Fadrian.git ralink: fix chuncked-io module Signed-off-by: John Crispin SVN-Revision: 40342 --- diff --git a/target/linux/ramips/patches-3.10/0131-mtd-add-chunked-read-io-to-m25p80.patch b/target/linux/ramips/patches-3.10/0131-mtd-add-chunked-read-io-to-m25p80.patch index 6a4f8abf35..6123ec1105 100644 --- a/target/linux/ramips/patches-3.10/0131-mtd-add-chunked-read-io-to-m25p80.patch +++ b/target/linux/ramips/patches-3.10/0131-mtd-add-chunked-read-io-to-m25p80.patch @@ -8,9 +8,11 @@ Signed-off-by: John Crispin drivers/mtd/devices/m25p80.c | 127 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) ---- a/drivers/mtd/devices/m25p80.c -+++ b/drivers/mtd/devices/m25p80.c -@@ -392,6 +392,57 @@ static int m25p80_read(struct mtd_info * +Index: linux-3.10.34/drivers/mtd/devices/m25p80.c +=================================================================== +--- linux-3.10.34.orig/drivers/mtd/devices/m25p80.c 2014-03-30 19:40:10.135292951 +0100 ++++ linux-3.10.34/drivers/mtd/devices/m25p80.c 2014-03-30 19:44:40.151295482 +0100 +@@ -392,6 +392,58 @@ return 0; } @@ -34,6 +36,8 @@ Signed-off-by: John Crispin + spi_message_add_tail(&t[0], &m); + spi_message_add_tail(&t[1], &m); + ++ *retlen = 0; ++ + while (idx < len) { + int rlen = (len - idx > 4) ? (4) : (len - idx); + @@ -56,8 +60,7 @@ Signed-off-by: John Crispin + + spi_sync(flash->spi, &m); + -+ *retlen = m.actual_length - m25p_cmdsz(flash) - -+ (flash->fast_read ? 1 : 0); ++ *retlen += m.actual_length - m25p_cmdsz(flash); + + mutex_unlock(&flash->lock); + idx += rlen; @@ -68,7 +71,7 @@ Signed-off-by: John Crispin /* * Write an address range to the flash chip. Data must be written in * FLASH_PAGESIZE chunks. The address range may be any size provided -@@ -479,6 +530,76 @@ static int m25p80_write(struct mtd_info +@@ -479,6 +531,76 @@ return 0; } @@ -145,7 +148,7 @@ Signed-off-by: John Crispin static int sst_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { -@@ -1058,6 +1179,12 @@ static int m25p_probe(struct spi_device +@@ -1058,6 +1180,12 @@ flash->fast_read = true; #endif