summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/lantiq/patches-2.6.39/280-netif_receive_skb.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-2.6.39/280-netif_receive_skb.patch b/target/linux/lantiq/patches-2.6.39/280-netif_receive_skb.patch
new file mode 100644
index 000000000..7e870e28f
--- /dev/null
+++ b/target/linux/lantiq/patches-2.6.39/280-netif_receive_skb.patch
@@ -0,0 +1,17 @@
+--- a/drivers/net/lantiq_etop.c
++++ b/drivers/net/lantiq_etop.c
+@@ -155,8 +155,12 @@
+
+ skb_put(skb, len);
+ skb->dev = ch->netdev;
+- skb->protocol = eth_type_trans(skb, ch->netdev);
+- netif_receive_skb(skb);
++ if (priv->phydev && priv->phydev->netif_receive_skb) {
++ priv->phydev->netif_receive_skb(skb);
++ } else {
++ skb->protocol = eth_type_trans(skb, ch->netdev);
++ netif_receive_skb(skb);
++ }
+ }
+
+ static int