On 1/21/2026 7:54 AM, Breno Leitao wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> 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 <leitao@debian.org>
> ---
> drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c b/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
> index 6fef47ba0a59b..d8b5491c9cb2b 100644
> --- a/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
> +++ b/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
> @@ -500,20 +500,22 @@ static int aq_ethtool_set_rss(struct net_device *netdev,
> return err;
> }
>
> +static u32 aq_ethtool_get_rx_ring_count(struct net_device *ndev)
> +{
> + struct aq_nic_s *aq_nic = netdev_priv(ndev);
> + struct aq_nic_cfg_s *cfg = aq_nic_get_cfg(aq_nic);
> +
> + return cfg->vecs;
> +}
> +
Tiny nit, but RCT ordering is not maintained.
Thanks,
Brett
> static int aq_ethtool_get_rxnfc(struct net_device *ndev,
> struct ethtool_rxnfc *cmd,
> u32 *rule_locs)
> {
> struct aq_nic_s *aq_nic = netdev_priv(ndev);
> - struct aq_nic_cfg_s *cfg;
> int err = 0;
>
> - cfg = aq_nic_get_cfg(aq_nic);
> -
> switch (cmd->cmd) {
> - case ETHTOOL_GRXRINGS:
> - cmd->data = cfg->vecs;
> - break;
> case ETHTOOL_GRXCLSRLCNT:
> cmd->rule_cnt = aq_get_rxnfc_count_all_rules(aq_nic);
> break;
> @@ -1072,6 +1074,7 @@ const struct ethtool_ops aq_ethtool_ops = {
> .set_rxfh = aq_ethtool_set_rss,
> .get_rxnfc = aq_ethtool_get_rxnfc,
> .set_rxnfc = aq_ethtool_set_rxnfc,
> + .get_rx_ring_count = aq_ethtool_get_rx_ring_count,
> .get_msglevel = aq_get_msg_level,
> .set_msglevel = aq_set_msg_level,
> .get_sset_count = aq_ethtool_get_sset_count,
>
> --
> 2.47.3
>