aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-03-24 23:41:29 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-03-24 23:41:29 +0000
commit35cc26545e2deb0e5a3b9adb6b473d013852df81 (patch)
treea3010e3d60aa3b22a7ef61504086814b3d63c2fd /target
parenta0b63920f32b0975f41bc5f61122833ab52905eb (diff)
downloadmaster-187ad058-35cc26545e2deb0e5a3b9adb6b473d013852df81.tar.gz
master-187ad058-35cc26545e2deb0e5a3b9adb6b473d013852df81.tar.bz2
master-187ad058-35cc26545e2deb0e5a3b9adb6b473d013852df81.zip
atheros: fix a spiflash write performance regression
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15027 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/atheros/patches-2.6.28/120-spiflash.patch8
1 files changed, 4 insertions, 4 deletions
diff --git a/target/linux/atheros/patches-2.6.28/120-spiflash.patch b/target/linux/atheros/patches-2.6.28/120-spiflash.patch
index e661365066..e33733ecfb 100644
--- a/target/linux/atheros/patches-2.6.28/120-spiflash.patch
+++ b/target/linux/atheros/patches-2.6.28/120-spiflash.patch
@@ -288,10 +288,10 @@
+}
+
+static void
-+spiflash_wait_complete(struct spiflash_priv *priv)
++spiflash_wait_complete(struct spiflash_priv *priv, unsigned int timeout)
+{
+ busy_wait(priv, spiflash_sendcmd(priv, SPI_RD_STATUS, 0) &
-+ SPI_STATUS_WIP, 20);
++ SPI_STATUS_WIP, timeout);
+ spiflash_done(priv);
+}
+
@@ -321,7 +321,7 @@
+ reg |= op->tx_cnt | SPI_CTL_START;
+ spiflash_write_reg(priv, SPI_FLASH_CTL, reg);
+
-+ spiflash_wait_complete(priv);
++ spiflash_wait_complete(priv, 20);
+
+ instr->state = MTD_ERASE_DONE;
+ if (instr->callback)
@@ -418,7 +418,7 @@
+ reg |= (read_len + 4) | SPI_CTL_START;
+ spiflash_write_reg(priv, SPI_FLASH_CTL, reg);
+
-+ spiflash_wait_complete(priv);
++ spiflash_wait_complete(priv, 1);
+
+ bytes_left -= read_len;
+ to += read_len;