diff options
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 73a65789271b..99141986efa0 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c | |||
@@ -647,13 +647,14 @@ out: | |||
647 | return err; | 647 | return err; |
648 | } | 648 | } |
649 | 649 | ||
650 | static struct sk_buff **vlan_gro_receive(struct sk_buff **head, | 650 | static struct sk_buff *vlan_gro_receive(struct list_head *head, |
651 | struct sk_buff *skb) | 651 | struct sk_buff *skb) |
652 | { | 652 | { |
653 | struct sk_buff *p, **pp = NULL; | ||
654 | struct vlan_hdr *vhdr; | ||
655 | unsigned int hlen, off_vlan; | ||
656 | const struct packet_offload *ptype; | 653 | const struct packet_offload *ptype; |
654 | unsigned int hlen, off_vlan; | ||
655 | struct sk_buff *pp = NULL; | ||
656 | struct vlan_hdr *vhdr; | ||
657 | struct sk_buff *p; | ||
657 | __be16 type; | 658 | __be16 type; |
658 | int flush = 1; | 659 | int flush = 1; |
659 | 660 | ||
@@ -675,7 +676,7 @@ static struct sk_buff **vlan_gro_receive(struct sk_buff **head, | |||
675 | 676 | ||
676 | flush = 0; | 677 | flush = 0; |
677 | 678 | ||
678 | for (p = *head; p; p = p->next) { | 679 | list_for_each_entry(p, head, list) { |
679 | struct vlan_hdr *vhdr2; | 680 | struct vlan_hdr *vhdr2; |
680 | 681 | ||
681 | if (!NAPI_GRO_CB(p)->same_flow) | 682 | if (!NAPI_GRO_CB(p)->same_flow) |