aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/sfc/ethtool.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c
index 72a2eb2e3a19..906d18a65260 100644
--- a/drivers/net/sfc/ethtool.c
+++ b/drivers/net/sfc/ethtool.c
@@ -373,16 +373,18 @@ static int efx_ethtool_fill_self_tests(struct efx_nic *efx,
373 return n; 373 return n;
374} 374}
375 375
376static int efx_ethtool_get_stats_count(struct net_device *net_dev) 376static int efx_ethtool_get_sset_count(struct net_device *net_dev,
377 int string_set)
377{ 378{
378 return EFX_ETHTOOL_NUM_STATS; 379 switch (string_set) {
379} 380 case ETH_SS_STATS:
380 381 return EFX_ETHTOOL_NUM_STATS;
381static int efx_ethtool_self_test_count(struct net_device *net_dev) 382 case ETH_SS_TEST:
382{ 383 return efx_ethtool_fill_self_tests(netdev_priv(net_dev),
383 struct efx_nic *efx = netdev_priv(net_dev); 384 NULL, NULL, NULL);
384 385 default:
385 return efx_ethtool_fill_self_tests(efx, NULL, NULL, NULL); 386 return -EINVAL;
387 }
386} 388}
387 389
388static void efx_ethtool_get_strings(struct net_device *net_dev, 390static void efx_ethtool_get_strings(struct net_device *net_dev,
@@ -719,10 +721,9 @@ struct ethtool_ops efx_ethtool_ops = {
719 .set_tso = ethtool_op_set_tso, 721 .set_tso = ethtool_op_set_tso,
720 .get_flags = ethtool_op_get_flags, 722 .get_flags = ethtool_op_get_flags,
721 .set_flags = ethtool_op_set_flags, 723 .set_flags = ethtool_op_set_flags,
722 .self_test_count = efx_ethtool_self_test_count, 724 .get_sset_count = efx_ethtool_get_sset_count,
723 .self_test = efx_ethtool_self_test, 725 .self_test = efx_ethtool_self_test,
724 .get_strings = efx_ethtool_get_strings, 726 .get_strings = efx_ethtool_get_strings,
725 .phys_id = efx_ethtool_phys_id, 727 .phys_id = efx_ethtool_phys_id,
726 .get_stats_count = efx_ethtool_get_stats_count,
727 .get_ethtool_stats = efx_ethtool_get_stats, 728 .get_ethtool_stats = efx_ethtool_get_stats,
728}; 729};