ftgmac100: Set netdev->hw_features
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 12 Apr 2017 03:27:04 +0000 (13:27 +1000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Apr 2017 14:17:01 +0000 (10:17 -0400)
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>
drivers/net/ethernet/faraday/ftgmac100.c

index 099309920d6a937756729ee7cafe57541fa98629..a08226a9b0df176b4c2ed5e8989bac8bdd12eaa7 100644 (file)
@@ -1474,14 +1474,15 @@ static int ftgmac100_probe(struct platform_device *pdev)
        }
 
        /* 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);