summaryrefslogtreecommitdiff
path: root/target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch')
-rw-r--r--target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch b/target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch
new file mode 100644
index 0000000..bec3514
--- /dev/null
+++ b/target/linux/rb532/patches-2.6.28/019-korina_set_dev_field_allocated_skb.patch
@@ -0,0 +1,33 @@
+I'm not sure if this is necessary, but the original driver did it and
+apparently also many other drivers do it, so it should not be completely
+wrong to do it.
+
+Signed-off-by: Phil Sutter <n0-1@freewrt.org>
+---
+ drivers/net/korina.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/korina.c b/drivers/net/korina.c
+index 75010ca..56b4db2 100644
+--- a/drivers/net/korina.c
++++ b/drivers/net/korina.c
+@@ -419,6 +419,7 @@ static int korina_rx(struct net_device *dev, int limit)
+ /* 16 bit align */
+ skb_reserve(skb_new, 2);
+
++ skb_new->dev = dev;
+ lp->rx_skb[lp->rx_next_done] = skb_new;
+ }
+
+@@ -763,6 +764,7 @@ static void korina_alloc_ring(struct net_device *dev)
+ if (!skb)
+ break;
+ skb_reserve(skb, 2);
++ skb->dev = dev;
+ lp->rx_skb[i] = skb;
+ lp->rd_ring[i].control = DMA_DESC_IOD |
+ DMA_COUNT(KORINA_RBSIZE);
+--
+1.5.6.4
+
+