diff options
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r-- | net/8021q/vlan_dev.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index bc2528624583..2b5fcde1f629 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -591,18 +591,17 @@ static void vlan_dev_uninit(struct net_device *dev) | |||
591 | } | 591 | } |
592 | } | 592 | } |
593 | 593 | ||
594 | static u32 vlan_dev_fix_features(struct net_device *dev, u32 features) | 594 | static netdev_features_t vlan_dev_fix_features(struct net_device *dev, |
595 | netdev_features_t features) | ||
595 | { | 596 | { |
596 | struct net_device *real_dev = vlan_dev_info(dev)->real_dev; | 597 | struct net_device *real_dev = vlan_dev_info(dev)->real_dev; |
597 | u32 old_features = features; | 598 | u32 old_features = features; |
598 | 599 | ||
599 | features &= real_dev->features; | ||
600 | features &= real_dev->vlan_features; | 600 | features &= real_dev->vlan_features; |
601 | features |= NETIF_F_RXCSUM; | ||
602 | features &= real_dev->features; | ||
601 | 603 | ||
602 | features |= old_features & NETIF_F_SOFT_FEATURES; | 604 | features |= old_features & NETIF_F_SOFT_FEATURES; |
603 | |||
604 | if (dev_ethtool_get_rx_csum(real_dev)) | ||
605 | features |= NETIF_F_RXCSUM; | ||
606 | features |= NETIF_F_LLTX; | 605 | features |= NETIF_F_LLTX; |
607 | 606 | ||
608 | return features; | 607 | return features; |