diff options
Diffstat (limited to 'net/atm/lec.c')
-rw-r--r-- | net/atm/lec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/atm/lec.c b/net/atm/lec.c index 3d804d61f656..e5ed878c8825 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c | |||
@@ -825,14 +825,16 @@ static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
825 | if (!hlist_empty(&priv->lec_arp_empty_ones)) { | 825 | if (!hlist_empty(&priv->lec_arp_empty_ones)) { |
826 | lec_arp_check_empties(priv, vcc, skb); | 826 | lec_arp_check_empties(priv, vcc, skb); |
827 | } | 827 | } |
828 | skb->dev = dev; | ||
829 | skb_pull(skb, 2); /* skip lec_id */ | 828 | skb_pull(skb, 2); /* skip lec_id */ |
830 | #ifdef CONFIG_TR | 829 | #ifdef CONFIG_TR |
831 | if (priv->is_trdev) | 830 | if (priv->is_trdev) |
832 | skb->protocol = tr_type_trans(skb, dev); | 831 | skb->protocol = tr_type_trans(skb, dev); |
833 | else | 832 | else |
834 | #endif | 833 | #endif |
834 | { | ||
835 | skb->dev = dev; | ||
835 | skb->protocol = eth_type_trans(skb, dev); | 836 | skb->protocol = eth_type_trans(skb, dev); |
837 | } | ||
836 | priv->stats.rx_packets++; | 838 | priv->stats.rx_packets++; |
837 | priv->stats.rx_bytes += skb->len; | 839 | priv->stats.rx_bytes += skb->len; |
838 | memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data)); | 840 | memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data)); |