* use netif_rx of the phydev if it is provided
authorJohn Crispin <john@openwrt.org>
Tue, 29 Mar 2011 06:19:31 +0000 (06:19 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 29 Mar 2011 06:19:31 +0000 (06:19 +0000)
SVN-Revision: 26353

target/linux/lantiq/patches/230-xway_etop.patch

index 2f10a5297444deb40aa3a66af92c1662bd24647c..2ba84273f6f3a5574ac567cbae3c325356758dd1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -358,6 +358,12 @@
+@@ -235,6 +235,12 @@
  
  source "drivers/net/arm/Kconfig"
  
@@ -15,7 +15,7 @@
        depends on ARM || MIPS || SUPERH
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -213,6 +213,7 @@
+@@ -212,6 +212,7 @@
  obj-$(CONFIG_MVME16x_NET) += 82596.o
  obj-$(CONFIG_BVME6000_NET) += 82596.o
  obj-$(CONFIG_SC92031) += sc92031.o
@@ -25,7 +25,7 @@
  obj-$(CONFIG_LP486E) += lp486e.o
 --- /dev/null
 +++ b/drivers/net/lantiq_etop.c
-@@ -0,0 +1,552 @@
+@@ -0,0 +1,557 @@
 +/*
 + *   This program is free software; you can redistribute it and/or modify it
 + *   under the terms of the GNU General Public License version 2 as published
 +
 +      skb_put(skb, len);
 +      skb->dev = dev;
-+      skb->protocol = eth_type_trans(skb, dev);
-+      netif_rx(skb);
++
++      if (priv->phydev && priv->phydev->netif_rx) {
++              priv->phydev->netif_rx(skb);
++      } else {
++              skb->protocol = eth_type_trans(skb, dev);
++              netif_rx(skb);
++      }
 +
 +      priv->stats.rx_packets++;
 +      priv->stats.rx_bytes += len;