aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches/200-owrt-netif_receive_skb.patch
blob: d1cb2ab545f948ca6a955ed909b943ab60ba32be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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