summaryrefslogtreecommitdiff
path: root/target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch')
-rw-r--r--target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch b/target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch
new file mode 100644
index 0000000..f9f8dac
--- /dev/null
+++ b/target/linux/rb532/patches-2.6.28/018-korina_adjust_headroom.patch
@@ -0,0 +1,28 @@
+This is copy and paste from the original driver. As skb_reserve() is
+also called within korina_alloc_ring() when initially allocating the
+receive descriptors, the same should be done when allocating new space
+after passing an skb to upper layers.
+
+Signed-off-by: Phil Sutter <n0-1@freewrt.org>
+---
+ drivers/net/korina.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/korina.c b/drivers/net/korina.c
+index 67fbdf4..60ae7bf 100644
+--- a/drivers/net/korina.c
++++ b/drivers/net/korina.c
+@@ -416,6 +416,9 @@ static int korina_rx(struct net_device *dev, int limit)
+ if (devcs & ETH_RX_MP)
+ dev->stats.multicast++;
+
++ /* 16 bit align */
++ skb_reserve(skb_new, 2);
++
+ lp->rx_skb[lp->rx_next_done] = skb_new;
+ }
+
+--
+1.5.6.4
+
+