diff options
author | John Crispin <john@openwrt.org> | 2014-03-30 19:03:55 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2014-03-30 19:03:55 +0000 |
commit | 5b6ceab69b16ae9c10c8374f78bee809f83e1b52 (patch) | |
tree | 0938472d41f24747a9078be2c439437b26a779af /target | |
parent | ca1a527187f9b4c54b5b1b05d017042ab3f8a84a (diff) | |
download | upstream-5b6ceab69b16ae9c10c8374f78bee809f83e1b52.tar.gz upstream-5b6ceab69b16ae9c10c8374f78bee809f83e1b52.tar.bz2 upstream-5b6ceab69b16ae9c10c8374f78bee809f83e1b52.zip |
ralink: fix chuncked-io module
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 40342
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ramips/patches-3.10/0131-mtd-add-chunked-read-io-to-m25p80.patch | 17 |
1 files changed, 10 insertions, 7 deletions
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 <blogic@openwrt.org> 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 <blogic@openwrt.org> + 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 <blogic@openwrt.org> + + 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 <blogic@openwrt.org> /* * 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 <blogic@openwrt.org> 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 |