Use the newly introduced .get_rx_ring_count ethtool ops callback instead of handling ETHTOOL_GRXRINGS directly in .get_rxnfc(). Signed-off-by: Breno Leitao --- drivers/net/ethernet/huawei/hinic/hinic_ethtool.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c index e9f338e9dbe7..f28528df5aac 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c @@ -1101,22 +1101,11 @@ static int __set_rss_rxfh(struct net_device *netdev, return 0; } -static int hinic_get_rxnfc(struct net_device *netdev, - struct ethtool_rxnfc *cmd, u32 *rule_locs) +static u32 hinic_get_rx_ring_count(struct net_device *netdev) { struct hinic_dev *nic_dev = netdev_priv(netdev); - int err = 0; - switch (cmd->cmd) { - case ETHTOOL_GRXRINGS: - cmd->data = nic_dev->num_qps; - break; - default: - err = -EOPNOTSUPP; - break; - } - - return err; + return nic_dev->num_qps; } static int hinic_get_rxfh(struct net_device *netdev, @@ -1779,7 +1768,7 @@ static const struct ethtool_ops hinic_ethtool_ops = { .set_pauseparam = hinic_set_pauseparam, .get_channels = hinic_get_channels, .set_channels = hinic_set_channels, - .get_rxnfc = hinic_get_rxnfc, + .get_rx_ring_count = hinic_get_rx_ring_count, .get_rxfh_key_size = hinic_get_rxfh_key_size, .get_rxfh_indir_size = hinic_get_rxfh_indir_size, .get_rxfh = hinic_get_rxfh, @@ -1812,7 +1801,7 @@ static const struct ethtool_ops hinicvf_ethtool_ops = { .set_per_queue_coalesce = hinic_set_per_queue_coalesce, .get_channels = hinic_get_channels, .set_channels = hinic_set_channels, - .get_rxnfc = hinic_get_rxnfc, + .get_rx_ring_count = hinic_get_rx_ring_count, .get_rxfh_key_size = hinic_get_rxfh_key_size, .get_rxfh_indir_size = hinic_get_rxfh_indir_size, .get_rxfh = hinic_get_rxfh, -- 2.47.3