diff options
author | David S. Miller <davem@davemloft.net> | 2014-03-29 18:48:54 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-29 18:48:54 -0400 |
commit | 64c27237a07129758e33f5f824ba5c33b7f57417 (patch) | |
tree | 4c0c0a9b6d282d600f2226e1b3510096b9d789dd /net/8021q | |
parent | 77a9939426f7a3f35f460afc9b11f1fe45955409 (diff) | |
parent | 49d8137a4039c63c834827f4bfe875e27bb9c521 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/marvell/mvneta.c
The mvneta.c conflict is a case of overlapping changes,
a conversion to devm_ioremap_resource() vs. a conversion
to netdev_alloc_pcpu_stats.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan.c | 4 | ||||
-rw-r--r-- | net/8021q/vlan_dev.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index ec9909935fb6..175273f38cb1 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c | |||
@@ -307,9 +307,11 @@ static void vlan_sync_address(struct net_device *dev, | |||
307 | static void vlan_transfer_features(struct net_device *dev, | 307 | static void vlan_transfer_features(struct net_device *dev, |
308 | struct net_device *vlandev) | 308 | struct net_device *vlandev) |
309 | { | 309 | { |
310 | struct vlan_dev_priv *vlan = vlan_dev_priv(vlandev); | ||
311 | |||
310 | vlandev->gso_max_size = dev->gso_max_size; | 312 | vlandev->gso_max_size = dev->gso_max_size; |
311 | 313 | ||
312 | if (dev->features & NETIF_F_HW_VLAN_CTAG_TX) | 314 | if (vlan_hw_offload_capable(dev->features, vlan->vlan_proto)) |
313 | vlandev->hard_header_len = dev->hard_header_len; | 315 | vlandev->hard_header_len = dev->hard_header_len; |
314 | else | 316 | else |
315 | vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN; | 317 | vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN; |
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index a78bebeca4d9..6f142f03716d 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -578,6 +578,9 @@ static int vlan_dev_init(struct net_device *dev) | |||
578 | 578 | ||
579 | dev->features |= real_dev->vlan_features | NETIF_F_LLTX; | 579 | dev->features |= real_dev->vlan_features | NETIF_F_LLTX; |
580 | dev->gso_max_size = real_dev->gso_max_size; | 580 | dev->gso_max_size = real_dev->gso_max_size; |
581 | if (dev->features & NETIF_F_VLAN_FEATURES) | ||
582 | netdev_warn(real_dev, "VLAN features are set incorrectly. Q-in-Q configurations may not work correctly.\n"); | ||
583 | |||
581 | 584 | ||
582 | /* ipv6 shared card related stuff */ | 585 | /* ipv6 shared card related stuff */ |
583 | dev->dev_id = real_dev->dev_id; | 586 | dev->dev_id = real_dev->dev_id; |
@@ -592,7 +595,8 @@ static int vlan_dev_init(struct net_device *dev) | |||
592 | #endif | 595 | #endif |
593 | 596 | ||
594 | dev->needed_headroom = real_dev->needed_headroom; | 597 | dev->needed_headroom = real_dev->needed_headroom; |
595 | if (real_dev->features & NETIF_F_HW_VLAN_CTAG_TX) { | 598 | if (vlan_hw_offload_capable(real_dev->features, |
599 | vlan_dev_priv(dev)->vlan_proto)) { | ||
596 | dev->header_ops = &vlan_passthru_header_ops; | 600 | dev->header_ops = &vlan_passthru_header_ops; |
597 | dev->hard_header_len = real_dev->hard_header_len; | 601 | dev->hard_header_len = real_dev->hard_header_len; |
598 | } else { | 602 | } else { |