diff options
Diffstat (limited to 'net/8021q/vlan_dev.c')
| -rw-r--r-- | net/8021q/vlan_dev.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index b7889782047e..9e83272fc5b0 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
| @@ -163,7 +163,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, | |||
| 163 | goto err_unlock; | 163 | goto err_unlock; |
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | rx_stats = per_cpu_ptr(vlan_dev_info(dev)->vlan_rx_stats, | 166 | rx_stats = per_cpu_ptr(vlan_dev_info(skb->dev)->vlan_rx_stats, |
| 167 | smp_processor_id()); | 167 | smp_processor_id()); |
| 168 | rx_stats->rx_packets++; | 168 | rx_stats->rx_packets++; |
| 169 | rx_stats->rx_bytes += skb->len; | 169 | rx_stats->rx_bytes += skb->len; |
| @@ -263,11 +263,10 @@ static int vlan_dev_hard_header(struct sk_buff *skb, struct net_device *dev, | |||
| 263 | vhdr->h_vlan_TCI = htons(vlan_tci); | 263 | vhdr->h_vlan_TCI = htons(vlan_tci); |
| 264 | 264 | ||
| 265 | /* | 265 | /* |
| 266 | * Set the protocol type. For a packet of type ETH_P_802_3 we | 266 | * Set the protocol type. For a packet of type ETH_P_802_3/2 we |
| 267 | * put the length in here instead. It is up to the 802.2 | 267 | * put the length in here instead. |
| 268 | * layer to carry protocol information. | ||
| 269 | */ | 268 | */ |
| 270 | if (type != ETH_P_802_3) | 269 | if (type != ETH_P_802_3 && type != ETH_P_802_2) |
| 271 | vhdr->h_vlan_encapsulated_proto = htons(type); | 270 | vhdr->h_vlan_encapsulated_proto = htons(type); |
| 272 | else | 271 | else |
| 273 | vhdr->h_vlan_encapsulated_proto = htons(len); | 272 | vhdr->h_vlan_encapsulated_proto = htons(len); |
| @@ -323,7 +322,7 @@ static netdev_tx_t vlan_dev_hard_start_xmit(struct sk_buff *skb, | |||
| 323 | } | 322 | } |
| 324 | 323 | ||
| 325 | 324 | ||
| 326 | skb->dev = vlan_dev_info(dev)->real_dev; | 325 | skb_set_dev(skb, vlan_dev_info(dev)->real_dev); |
| 327 | len = skb->len; | 326 | len = skb->len; |
| 328 | ret = dev_queue_xmit(skb); | 327 | ret = dev_queue_xmit(skb); |
| 329 | 328 | ||
