diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-06 21:19:14 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-06 21:19:14 +0000 |
commit | d4d537811bcf327b603605aea8d20295ef317f06 (patch) | |
tree | 044abda1179e26bc1161e60d5a06a7ff784c9bab /target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch | |
parent | ecb548b2e5e00f2cfe5689859dded4a9b0b08adf (diff) |
kernel: rewrite the phy packet hook, put it in the network stack to avoid having to keep non-upstream ethernet driver changes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31637 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch')
-rw-r--r-- | target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch b/target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch index 3536552e9e..56c7cd5459 100644 --- a/target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch +++ b/target/linux/atheros/patches-3.3/220-enet_micrel_workaround.patch @@ -43,21 +43,7 @@ kfree(dev); return 0; } -@@ -846,7 +864,12 @@ static int ar231x_rx_int(struct net_devi - dev->stats.rx_bytes += skb->len; - - /* pass the packet to upper layers */ -- sp->rx(skb); -+ if (sp->rx) { -+ sp->rx(skb); -+ } else { -+ skb->protocol = eth_type_trans(skb, skb->dev); -+ netif_rx(skb); -+ } - skb_new->dev = dev; - - /* 16 bit align */ -@@ -1142,6 +1165,9 @@ static int ar231x_ioctl(struct net_devic +@@ -1133,6 +1151,9 @@ static int ar231x_ioctl(struct net_devic struct ar231x_private *sp = netdev_priv(dev); int ret; |