diff options
| author | David S. Miller <davem@davemloft.net> | 2012-05-16 22:17:37 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-05-16 22:17:37 -0400 |
| commit | 028940342a906db8da014a7603a0deddc2c323dd (patch) | |
| tree | 688dbc38a3e218f2493d311b1d70a67668837347 /drivers/vhost | |
| parent | be3eed2e96340d3c7a4d1ea1d63e7bd6095d1e34 (diff) | |
| parent | 0e93b4b304ae052ba1bc73f6d34a68556fe93429 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/vhost')
| -rw-r--r-- | drivers/vhost/net.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 853db7a08a26..f82a7394756e 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/if_arp.h> | 24 | #include <linux/if_arp.h> |
| 25 | #include <linux/if_tun.h> | 25 | #include <linux/if_tun.h> |
| 26 | #include <linux/if_macvlan.h> | 26 | #include <linux/if_macvlan.h> |
| 27 | #include <linux/if_vlan.h> | ||
| 27 | 28 | ||
| 28 | #include <net/sock.h> | 29 | #include <net/sock.h> |
| 29 | 30 | ||
| @@ -286,8 +287,12 @@ static int peek_head_len(struct sock *sk) | |||
| 286 | 287 | ||
| 287 | spin_lock_irqsave(&sk->sk_receive_queue.lock, flags); | 288 | spin_lock_irqsave(&sk->sk_receive_queue.lock, flags); |
| 288 | head = skb_peek(&sk->sk_receive_queue); | 289 | head = skb_peek(&sk->sk_receive_queue); |
| 289 | if (likely(head)) | 290 | if (likely(head)) { |
| 290 | len = head->len; | 291 | len = head->len; |
| 292 | if (vlan_tx_tag_present(head)) | ||
| 293 | len += VLAN_HLEN; | ||
| 294 | } | ||
| 295 | |||
| 291 | spin_unlock_irqrestore(&sk->sk_receive_queue.lock, flags); | 296 | spin_unlock_irqrestore(&sk->sk_receive_queue.lock, flags); |
| 292 | return len; | 297 | return len; |
| 293 | } | 298 | } |
