|
@@ -528,7 +528,7 @@ static int vlan_dev_init(struct net_device *dev)
|
|
|
(1<<__LINK_STATE_DORMANT))) |
|
|
|
(1<<__LINK_STATE_PRESENT);
|
|
|
|
|
|
- dev->hw_features = real_dev->vlan_features & NETIF_F_ALL_TX_OFFLOADS;
|
|
|
+ dev->hw_features = NETIF_F_ALL_TX_OFFLOADS;
|
|
|
dev->features |= real_dev->vlan_features | NETIF_F_LLTX;
|
|
|
dev->gso_max_size = real_dev->gso_max_size;
|
|
|
|
|
@@ -587,9 +587,11 @@ static u32 vlan_dev_fix_features(struct net_device *dev, u32 features)
|
|
|
{
|
|
|
struct net_device *real_dev = vlan_dev_info(dev)->real_dev;
|
|
|
|
|
|
- features &= (real_dev->features | NETIF_F_LLTX);
|
|
|
+ features &= real_dev->features;
|
|
|
+ features &= real_dev->vlan_features;
|
|
|
if (dev_ethtool_get_rx_csum(real_dev))
|
|
|
features |= NETIF_F_RXCSUM;
|
|
|
+ features |= NETIF_F_LLTX;
|
|
|
|
|
|
return features;
|
|
|
}
|