Re: [PATCH v2] net: marvell: Use min() instead of doing it manually

From: Heiner Kallweit
Date: Wed Mar 02 2022 - 06:06:46 EST


On 02.03.2022 07:48, Haowen Bai wrote:
> Fix following coccicheck warning:
> drivers/net/ethernet/marvell/mv643xx_eth.c:1664:35-36: WARNING opportunity for min()
>
> Signed-off-by: Haowen Bai <baihaowen88@xxxxxxxxx>
> ---
> drivers/net/ethernet/marvell/mv643xx_eth.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
> index 143ca8b..e3e79cf 100644
> --- a/drivers/net/ethernet/marvell/mv643xx_eth.c
> +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
> @@ -1661,7 +1661,7 @@ mv643xx_eth_set_ringparam(struct net_device *dev, struct ethtool_ringparam *er,
> if (er->rx_mini_pending || er->rx_jumbo_pending)
> return -EINVAL;
>
> - mp->rx_ring_size = er->rx_pending < 4096 ? er->rx_pending : 4096;
> + mp->rx_ring_size = min(er->rx_pending, (unsigned)4096);

Don't just use unsigned w/o int. Why not simply marking the constant as unsigned: 4096U ?
And again: You should at least compile-test it.

> mp->tx_ring_size = clamp_t(unsigned int, er->tx_pending,
> MV643XX_MAX_SKB_DESCS * 2, 4096);
> if (mp->tx_ring_size != er->tx_pending)