This enables IP/UDP/TCP offload checksum according to information
passed on from bootloader through device-tree. The offload doesn't
working properly when the interface works in NCSI mode.
Signed-off-by: Gavin Shan <redacted>
---
drivers/net/ethernet/faraday/ftgmac100.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 1b13fd4..1e2f4d2 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -1377,7 +1377,10 @@ static int ftgmac100_probe(struct platform_device *pdev)
netdev->ethtool_ops = &ftgmac100_ethtool_ops;
netdev->netdev_ops = &ftgmac100_netdev_ops;
- netdev->features = NETIF_F_IP_CSUM | NETIF_F_GRO;
+ netdev->features = NETIF_F_GRO;
+ if (pdev->dev.of_node &&
+ of_property_read_bool(pdev->dev.of_node, "no-hw-checksum"))
+ netdev->features |= NETIF_F_IP_CSUM;
platform_set_drvdata(pdev, netdev);
--
2.1.0