}
/* Base feature set */
- netdev->features = NETIF_F_RXCSUM | NETIF_F_HW_CSUM |
+ netdev->hw_features = NETIF_F_RXCSUM | NETIF_F_HW_CSUM |
NETIF_F_GRO | NETIF_F_SG;
/* AST2400 doesn't have working HW checksum generation */
if (np && (of_device_is_compatible(np, "aspeed,ast2400-mac")))
- netdev->features &= ~NETIF_F_HW_CSUM;
+ netdev->hw_features &= ~NETIF_F_HW_CSUM;
if (np && of_get_property(np, "no-hw-checksum", NULL))
- netdev->features &= ~(NETIF_F_HW_CSUM | NETIF_F_RXCSUM);
+ netdev->hw_features &= ~(NETIF_F_HW_CSUM | NETIF_F_RXCSUM);
+ netdev->features |= netdev->hw_features;
/* register network device */
err = register_netdev(netdev);