18 lines
419 B
Diff
18 lines
419 B
Diff
--- 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
|