aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_ethtool.c')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ethtool.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
index 66af5c1a76e5..e9795f60e5d6 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
@@ -42,6 +42,13 @@ static void ipoib_get_drvinfo(struct net_device *netdev,
42 strncpy(drvinfo->driver, "ipoib", sizeof(drvinfo->driver) - 1); 42 strncpy(drvinfo->driver, "ipoib", sizeof(drvinfo->driver) - 1);
43} 43}
44 44
45static u32 ipoib_get_rx_csum(struct net_device *dev)
46{
47 struct ipoib_dev_priv *priv = netdev_priv(dev);
48 return test_bit(IPOIB_FLAG_CSUM, &priv->flags) &&
49 !test_bit(IPOIB_FLAG_ADMIN_CM, &priv->flags);
50}
51
45static int ipoib_get_coalesce(struct net_device *dev, 52static int ipoib_get_coalesce(struct net_device *dev,
46 struct ethtool_coalesce *coal) 53 struct ethtool_coalesce *coal)
47{ 54{
@@ -129,7 +136,7 @@ static void ipoib_get_ethtool_stats(struct net_device *dev,
129 136
130static const struct ethtool_ops ipoib_ethtool_ops = { 137static const struct ethtool_ops ipoib_ethtool_ops = {
131 .get_drvinfo = ipoib_get_drvinfo, 138 .get_drvinfo = ipoib_get_drvinfo,
132 .get_tso = ethtool_op_get_tso, 139 .get_rx_csum = ipoib_get_rx_csum,
133 .get_coalesce = ipoib_get_coalesce, 140 .get_coalesce = ipoib_get_coalesce,
134 .set_coalesce = ipoib_set_coalesce, 141 .set_coalesce = ipoib_set_coalesce,
135 .get_flags = ethtool_op_get_flags, 142 .get_flags = ethtool_op_get_flags,