aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-01-25 13:36:27 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-01-25 13:36:27 +0000
commit3d2066526c138fd8f4a801c5d00037edf02df90e (patch)
treed4f7bf2ea046af01387c31a3901fed39c083cf5f /target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch
parentc198a513980a3e837967934e305eb65fef196826 (diff)
downloadupstream-3d2066526c138fd8f4a801c5d00037edf02df90e.tar.gz
upstream-3d2066526c138fd8f4a801c5d00037edf02df90e.tar.bz2
upstream-3d2066526c138fd8f4a801c5d00037edf02df90e.zip
update 2.6.27 patches with upstream fixes from git repository and mailing-lists. via-rhine is still broken, thus not switching to 2.6.27 as default.
SVN-Revision: 14173
Diffstat (limited to 'target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch')
-rw-r--r--target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch b/target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch
new file mode 100644
index 0000000000..1db2e0ecb1
--- /dev/null
+++ b/target/linux/rb532/patches-2.6.27/008-korina_reset_resource_buffer_size_1536.patch
@@ -0,0 +1,31 @@
+The new value is the one used in the external patch before and allows at
+least a standard MTU of 1500 to be handled correctly. Impact of this
+change gets visible when bigger packets are to be received, issuing:
+| ping -s 492 <IP>
+and bigger payload sized led to 100% packet loss.
+
+Signed-off-by: Phil Sutter <n0-1@freewrt.org>
+---
+ drivers/net/korina.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/korina.c b/drivers/net/korina.c
+index fefb33d..e30c2f4 100644
+--- a/drivers/net/korina.c
++++ b/drivers/net/korina.c
+@@ -84,7 +84,10 @@
+ #define KORINA_NUM_RDS 64 /* number of receive descriptors */
+ #define KORINA_NUM_TDS 64 /* number of transmit descriptors */
+
+-#define KORINA_RBSIZE 536 /* size of one resource buffer = Ether MTU */
++/* KORINA_RBSIZE is the hardware's default maximum receive
++ * frame size in bytes. Having this hardcoded means that there
++ * is no support for MTU sizes greater than 1500. */
++#define KORINA_RBSIZE 1536 /* size of one resource buffer = Ether MTU */
+ #define KORINA_RDS_MASK (KORINA_NUM_RDS - 1)
+ #define KORINA_TDS_MASK (KORINA_NUM_TDS - 1)
+ #define RD_RING_SIZE (KORINA_NUM_RDS * sizeof(struct dma_desc))
+--
+1.5.6.4
+
+