net: skb_vlan_untag(): don't reset transport offset if set by GRO layer
[linux-2.6-microblaze.git] / net / core / skbuff.c
index c5e6c0b..c9a5a3c 100644 (file)
@@ -5441,7 +5441,8 @@ struct sk_buff *skb_vlan_untag(struct sk_buff *skb)
                goto err_free;
 
        skb_reset_network_header(skb);
-       skb_reset_transport_header(skb);
+       if (!skb_transport_header_was_set(skb))
+               skb_reset_transport_header(skb);
        skb_reset_mac_len(skb);
 
        return skb;