diff options
Diffstat (limited to 'target/linux/lantiq/patches-3.0/200-owrt-netif_receive_skb.patch')
-rw-r--r-- | target/linux/lantiq/patches-3.0/200-owrt-netif_receive_skb.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-3.0/200-owrt-netif_receive_skb.patch b/target/linux/lantiq/patches-3.0/200-owrt-netif_receive_skb.patch new file mode 100644 index 0000000000..120266c999 --- /dev/null +++ b/target/linux/lantiq/patches-3.0/200-owrt-netif_receive_skb.patch @@ -0,0 +1,17 @@ +--- a/drivers/net/lantiq_etop.c ++++ b/drivers/net/lantiq_etop.c +@@ -147,8 +147,12 @@ ltq_etop_hw_receive(struct ltq_etop_chan + + 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 |