openwrtv3/target/linux/lantiq/patches-3.2/200-owrt-netif_receive_skb.patch

18 lines
478 B
Diff
Raw Normal View History

--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -188,8 +188,12 @@ ltq_etop_hw_receive(struct ltq_etop_chan
2011-07-06 17:27:17 +00:00
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