[PATCH net] net: enetc: fix the output issue of 'ethtool --show-ring'

Wei Fang posted 1 patch 2 weeks, 4 days ago
There is a newer version of this series
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH net] net: enetc: fix the output issue of 'ethtool --show-ring'
Posted by Wei Fang 2 weeks, 4 days ago
Currently, enetc_get_ringparam() only provides rx_pending and tx_pending,
but 'ethtool --show-ring' no longer displays these fields. Because the
ringparam retrieval path has moved to the new netlink interface, where
rings_fill_reply() emits rx_pending/tx_pending only if the corresponding
rx_max_pending/tx_max_pending values are non-zero. So rx_max_pending and
tx_max_pending to are added to enetc_get_ringparam() to fix the issue.

Fixes: e4a1717b677c ("ethtool: provide ring sizes with RINGS_GET request")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
---
 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
index fed89d4f1e1d..0818a6e8e6db 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
@@ -813,6 +813,8 @@ static void enetc_get_ringparam(struct net_device *ndev,
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 
+	ring->rx_max_pending = SZ_64K;
+	ring->tx_max_pending = SZ_64K;
 	ring->rx_pending = priv->rx_bd_count;
 	ring->tx_pending = priv->tx_bd_count;
 
-- 
2.34.1
Re: [PATCH net] net: enetc: fix the output issue of 'ethtool --show-ring'
Posted by Jakub Kicinski 2 weeks, 3 days ago
On Thu, 19 Mar 2026 15:27:16 +0800 Wei Fang wrote:
> Currently, enetc_get_ringparam() only provides rx_pending and tx_pending,
> but 'ethtool --show-ring' no longer displays these fields. Because the
> ringparam retrieval path has moved to the new netlink interface, where
> rings_fill_reply() emits rx_pending/tx_pending only if the corresponding
> rx_max_pending/tx_max_pending values are non-zero. So rx_max_pending and
> tx_max_pending to are added to enetc_get_ringparam() to fix the issue.

Why set it to 64k vs priv->*x_bd_count ?
There's not set_ringparam so user can't actually change the value,
wouldn't setting max to 64k give user the impression they can increase
the size?