aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q/vlan_dev.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-07-06 02:23:37 -0400
committerDavid S. Miller <davem@davemloft.net>2011-07-06 02:23:37 -0400
commite12fe68ce34d60c04bb1ddb1d3cc5c3022388fe4 (patch)
tree83c0e192ccaa4752c80b6131a7d0aa8272b5d0d0 /net/8021q/vlan_dev.c
parent7329f0d58de01878d9ce4f0be7a76e136f223eef (diff)
parent712ae51afd55b20c04c5383d02ba5d10233313b1 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r--net/8021q/vlan_dev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 1c9aa8c6a77d..d8f45ba718b5 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -588,9 +588,14 @@ static void vlan_dev_uninit(struct net_device *dev)
588static u32 vlan_dev_fix_features(struct net_device *dev, u32 features) 588static u32 vlan_dev_fix_features(struct net_device *dev, u32 features)
589{ 589{
590 struct net_device *real_dev = vlan_dev_info(dev)->real_dev; 590 struct net_device *real_dev = vlan_dev_info(dev)->real_dev;
591 u32 old_features = features;
591 592
592 features &= real_dev->features; 593 features &= real_dev->features;
593 features &= real_dev->vlan_features; 594 features &= real_dev->vlan_features;
595
596 if (old_features & NETIF_F_SOFT_FEATURES)
597 features |= old_features & NETIF_F_SOFT_FEATURES;
598
594 if (dev_ethtool_get_rx_csum(real_dev)) 599 if (dev_ethtool_get_rx_csum(real_dev))
595 features |= NETIF_F_RXCSUM; 600 features |= NETIF_F_RXCSUM;
596 features |= NETIF_F_LLTX; 601 features |= NETIF_F_LLTX;