X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2F8021q%2Fvlan.c;h=175273f38cb1bd59f5aeb88cb8c815033475dfe8;hb=fc0d48b8fb449ca007b2057328abf736cb516168;hp=ec9909935fb60850ed3635e1636f568c8c88bbf0;hpb=5c2740280fef1c2da7835dea3856b5e9fc2a4bfd;p=~andy%2Flinux diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index ec9909935fb..175273f38cb 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -307,9 +307,11 @@ static void vlan_sync_address(struct net_device *dev, static void vlan_transfer_features(struct net_device *dev, struct net_device *vlandev) { + struct vlan_dev_priv *vlan = vlan_dev_priv(vlandev); + vlandev->gso_max_size = dev->gso_max_size; - if (dev->features & NETIF_F_HW_VLAN_CTAG_TX) + if (vlan_hw_offload_capable(dev->features, vlan->vlan_proto)) vlandev->hard_header_len = dev->hard_header_len; else vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN;