Re: [PATCH 3/4 net] qca_spi: Fix ethtool -G iface tx behavior

From: Paolo Abeni
Date: Thu Nov 23 2023 - 06:52:46 EST


On Tue, 2023-11-21 at 17:30 +0100, Stefan Wahren wrote:
> After calling ethtool -g it was not possible to adjust the TX ring size
> again. 

Could you please report the exact command sequence that will fail?


> The reason for this is that the readonly setting rx_pending get
> initialized and after that the range check in qcaspi_set_ringparam()
> fails regardless of the provided parameter. Since there is no adjustable
> RX ring at all, drop it from qcaspi_get_ringparam().

>
> Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")
> Signed-off-by: Stefan Wahren <wahrenst@xxxxxxx>
> ---
> drivers/net/ethernet/qualcomm/qca_debug.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/qualcomm/qca_debug.c b/drivers/net/ethernet/qualcomm/qca_debug.c
> index 6f2fa2a42770..613eb688cba2 100644
> --- a/drivers/net/ethernet/qualcomm/qca_debug.c
> +++ b/drivers/net/ethernet/qualcomm/qca_debug.c
> @@ -252,9 +252,7 @@ qcaspi_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring,
> {
> struct qcaspi *qca = netdev_priv(dev);
>
> - ring->rx_max_pending = 4;
> ring->tx_max_pending = TX_RING_MAX_LEN;
> - ring->rx_pending = 4;
> ring->tx_pending = qca->txr.count;
> }

I think it's preferable update qcaspi_set_ringparam() to complete
successfully when the provided arguments don't change the rx_pending
default (4)

Cheers,

Paolo