ftgmac100: Set netdev->hw_features

So features can be turned on/off via ethtool

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Benjamin Herrenschmidt 2017-04-12 13:27:04 +10:00 committed by David S. Miller
parent 6aff0bf641
commit 8c3ed1315e
1 changed files with 4 additions and 3 deletions

View File

@ -1474,14 +1474,15 @@ static int ftgmac100_probe(struct platform_device *pdev)
} }
/* Base feature set */ /* 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; NETIF_F_GRO | NETIF_F_SG;
/* AST2400 doesn't have working HW checksum generation */ /* AST2400 doesn't have working HW checksum generation */
if (np && (of_device_is_compatible(np, "aspeed,ast2400-mac"))) 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)) 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 */ /* register network device */
err = register_netdev(netdev); err = register_netdev(netdev);