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