From: Breno Leitao Date: Fri, 21 Nov 2025 09:59:23 +0000 (-0800) Subject: net: hyperv: convert to use .get_rx_ring_count X-Git-Tag: v6.19-rc1~170^2~89 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a8ff4842da50b5f4ea03d5d38a2ee93b701fe8e6;p=thirdparty%2Fkernel%2Flinux.git net: hyperv: convert to use .get_rx_ring_count Convert the hyperv netvsc driver to use the new .get_rx_ring_count ethtool operation instead of implementing .get_rxnfc solely for handling ETHTOOL_GRXRINGS command. This simplifies the code by replacing the switch statement with a direct return of the queue count. The new callback provides the same functionality in a more direct way, following the ongoing ethtool API modernization. Signed-off-by: Breno Leitao Link: https://patch.msgid.link/20251121-hyperv_gxrings-v1-1-31293104953b@debian.org Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 39c892e46cb01..3d47d749ef9f1 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -1624,22 +1624,15 @@ netvsc_get_rxfh_fields(struct net_device *ndev, return 0; } -static int -netvsc_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info, - u32 *rules) +static u32 netvsc_get_rx_ring_count(struct net_device *dev) { struct net_device_context *ndc = netdev_priv(dev); struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev); if (!nvdev) - return -ENODEV; - - switch (info->cmd) { - case ETHTOOL_GRXRINGS: - info->data = nvdev->num_chn; return 0; - } - return -EOPNOTSUPP; + + return nvdev->num_chn; } static int @@ -1969,7 +1962,7 @@ static const struct ethtool_ops ethtool_ops = { .get_channels = netvsc_get_channels, .set_channels = netvsc_set_channels, .get_ts_info = ethtool_op_get_ts_info, - .get_rxnfc = netvsc_get_rxnfc, + .get_rx_ring_count = netvsc_get_rx_ring_count, .get_rxfh_key_size = netvsc_get_rxfh_key_size, .get_rxfh_indir_size = netvsc_rss_indir_size, .get_rxfh = netvsc_get_rxfh,