|
@@ -5058,10 +5058,11 @@ int register_netdevice(struct net_device *dev)
|
|
|
if (dev->features & NETIF_F_SG)
|
|
|
dev->features |= NETIF_F_GSO;
|
|
|
|
|
|
- /* Enable GRO for vlans by default if dev->features has GRO also.
|
|
|
- * vlan_dev_init() will do the dev->features check.
|
|
|
+ /* Enable GRO and NETIF_F_HIGHDMA for vlans by default,
|
|
|
+ * vlan_dev_init() will do the dev->features check, so these features
|
|
|
+ * are enabled only if supported by underlying device.
|
|
|
*/
|
|
|
- dev->vlan_features |= NETIF_F_GRO;
|
|
|
+ dev->vlan_features |= (NETIF_F_GRO | NETIF_F_HIGHDMA);
|
|
|
|
|
|
ret = call_netdevice_notifiers(NETDEV_POST_INIT, dev);
|
|
|
ret = notifier_to_errno(ret);
|