diff options
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; |